SKFCamera iOS 的自定义相机

程序名称:SKFCamera

授权协议: GPL

操作系统: iOS

开发语言: Objective-C

SKFCamera 介绍

开发iOS应用的过程中,很多情景都要调用相机,大多数初学开发者都是采用的苹果提供的系统相机的方法。

   UIImagePickerController *imagePickerController =  [[UIImagePickerController alloc] init];
   imagePickerController.delegate = self;
   imagePickerController.allowsEditing = YES;
   imagePickerController.sourceType = sourceType;
   [self presentViewController:imagePickerController animated:YES completion:^{}];

头文件要遵守协议方法,

       <UIImagePickerControllerDelegate, UINavigationControllerDelegate>

//该代理方法仅适用于只选取图片时

   - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(nullable NSDictionary<NSString *,id> *)editingInfo
     { NSLog(@"选择完毕----image:%@-----info:%@",image,editingInfo);
    }

使用非常的不方便,而且调用系统的相机是不能自定义相机页面的,且如果从一个横屏页面进入系统的相机,就会崩溃报错。

因为在做一个自定义相机页面的时候,遇到了上面所说的坑,所以就有了下面这个demo,我写的这个相机,采用frame布局,可以随意自定义拍照页面,支持横屏,自定义裁剪。

git地址https://github.com/wubianxiaoxian/SKFCamera

调用方法简单,首先下载demo,将SKFCamera添加到工程,引入

#import "SKFCamera.h"

然后五行代码就可以引用这个相机了

  SKFCamera *homec=[[SKFCamera alloc]init];
  __weak typeof(self)myself=self;
  homec.fininshcapture=^(UIImage *ss){
    if (ss) {
        NSLog(@"照片存在");
      //在这里获取裁剪后的照片
        myself.ViewImageview.image=ss;
    }
} ;
    [self presentViewController:homec animated:NO completion:^{}];}

运行效果:

SKFCamera 官网

https://github.com/wubianxiaoxian/SKFCamera

相关编程语言

Acapela TTS 是一个为 iPhone 和 iPad 开发的 TTS 引...
二维码(QR Code)扫描静态库,扫描效率较高。
RegexKitLite 是一个轻量级的 Objective-C 的正则表...
一款基于ASIHttpReques开源的仿迅雷多线程断点续传功...
实现动态检测网络(wifi)状况,不需要用户手动刷新...
使用iphoneSDK官方NSXMLParserDelegate做的简单xml解...