如何在iOS中创建自定义相机?

问题描述:

我有一个自定义相机,我希望用户在视图的一侧拍照。例如,Snapchat有它可以让用户在QR码内拍照的地方。我想要做的是同样的事情。我如何去做这件事?我是否是Photoshop?我是否以编程方式执行此操作?如何在iOS中创建自定义相机?

将png文件导入到您的项目中,这将成为您的相机视图的叠加层。然后,在你的相机来看,cameraOverlayView属性设置为您导入像这样的图像文件:

myCameraView.cameraOverlayView = UIImage(named: "test.png") 

要使用摄像头的覆盖视图定制设计的UI(XIB或故事板)

第一套imagePicker

let imagePicker = UIImagePickerController() 
let overlay =  self.storyboard?.instantiateViewControllerWithIdentifier("OverlayViewCont") 
overlay?.view.frame = UIScreen.mainScreen().bounds 
let overlayView = overlay!.view as! OverlayView 
overlayView.imagePicker = imagePicker 
imagePicker.sourceType = .Camera 
imagePicker.showsCameraControls = false 
presentViewController(imagePicker, animated: true) { 
    imagePicker.cameraOverlayView = overlayView 
} 

评论这个,如果你想使用默认控制器

imagePicker.showsCameraControls = false 

然后,我创建了一个UIView子类来处理OverlayView的controlle

class OverlayView: UIView { // attache this class to the view in Story board or XIB 

    var imagePicker: UIImagePickerController? 

    @IBAction func capture(sender: AnyObject?){ 
     imagePicker?.takePicture() 
    } 
} 

,或者您可以使用AVFoundation和创建完全定制的摄像头视图。这种方法可以用任何你喜欢的方式进行设计,而不受限制选择控制器。

检查https://developer.apple.com/library/ios/samplecode/AVCam/Introduction/Intro.html

这是目标C,但可以直接将其转换为斯威夫特轻松。