美文网首页iOS程序猿iOS Developerios实用开发技巧
听说你想找一个可以自定义的相机demo,最好还可以自定义裁剪

听说你想找一个可以自定义的相机demo,最好还可以自定义裁剪

作者: 敲代码的树懒 | 来源:发表于2016-10-19 16:21 被阅读1085次
    开发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

    使用方法

    在info.plist 里面添加
     Privacy - Microphone Usage Description  使用麦克风
     Privacy - Camera Usage Description      使用相机
    
    • Installation with CocoaPods:pod 'SKFCamera',引入

       #import <SKFCamera.h>  
      
    • 或者下载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相机录制gifnew.gif
    使用过程中,有任何问题,欢迎大家评论

    相关文章

      网友评论

      • 洁简:问一下为何要使用麦克风,使用麦克风后相机拍照声音可以根据音量自增自减. 还有前置摄像头拍出来的是镜像模式怎么改.
      • 十一岁的加重:用了一个第三方
      • iOS之星:非常感谢大神你的分享, 但是我用大神你的框架有个问题,就是刚装运行的时候,调用系统相机时,会弹出"使用麦克风"这个弹框, 怎么把这个弹框去掉呢
        iOS之星:@敲代码的树懒 好的, 感谢大神. 期待
        敲代码的树懒:sorry,目前的版本,暂时不能取消使用麦克风这个弹框,现在工作有点忙,等忙完了,我修改一下,保持关注
      • 042a0e1be73f:你好,请问点击拍照按钮是没有拍照声音的,这个怎么改?
        还有手动对焦的方框是长方形的,怎么变成正方形的?
        敲代码的树懒:默认是有声音的吧,你是不是静音状态下拍照了
      • DDDDeveloper:你好,能不能设置默认裁剪框大小?
      • 男人宫:如果再加上从相册中获取照片的截取就完美了
        敲代码的树懒:你可以单独使用TOCropViewController这个类,它是负责照片裁剪的
      • LX950124:_captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:self.session];这句话在iOS 10下会崩溃,急问博主怎么解决啊
        男人宫:@LX950124 加隐私权限没
      • KennyMcCormick:大神,请问gif用什么转的
        KennyMcCormick:@敲代码的树懒
        好吧,最后一点看到箭头了
        敲代码的树懒:@vitaminbat 用LICEcap录的
      • 素酥:大神请问下。。我想在截图上面加涂鸦是如何加和。。求教。。或者留个联系方式。。我们可以聊下嘛
        素酥:@敲代码的树懒 我先尝试下
        素酥:@敲代码的树懒 实在剪切的view上面加绘画的功能?
        敲代码的树懒:@素酥 你可以在我裁剪的view上面加个绘图到功能,把照片拖拽的手势先给禁止了
      • 鹿零9:可以cocoa pods导入吗?大神。。 :anguished:
      • 潮人花钱不用钱:能大致说下原理就更好啦 :grin:
        敲代码的树懒:@胶片的味道 随后补上原理
      • 学_iOS:66666

      本文标题:听说你想找一个可以自定义的相机demo,最好还可以自定义裁剪

      本文链接:https://www.haomeiwen.com/subject/wcexuttx.html