如何在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,但可以直接将其转换为斯威夫特轻松。