首先创建xib以及一个继承uivIEw的类,然后在主界面中设置相机的cameraOverlayVIEw 为这个UIvIEw。
创建xib,命名为CameraOverlay:
创建类CameraOverlayVIEw,继承UIVIEw
拖个按钮到xib中,并设置xib的custom class:
并把按钮的动作处理函数拖到cameroverlayvIEw中:
把xib的背景色设置为clearcolor:
在主界面中,打开相机时,把CameraOverlayVIEw设置为相机的遮罩:
@IBAction func GetPhotoAction(sender: AnyObject) { imagePicker = UIImagePickerController() //检测相机是否可用 let isAvailable = UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera) //必须首先设置sourceType 然后再设置其他属性 否则会出异常,提示sourceType 必须是 UIImagePickerControllerSourceTypeCamera imagePicker.sourceType = .Photolibrary if isAvailable { imagePicker.sourceType = .Camera //如果有前置摄像头则调用前置摄像头 imagePicker.cameraDevice = UIImagePickerControllerCameraDevice.Front //是否显示控制栏 imagePicker.showsCameraControls=false } //自定义相机界面 let myVIEw = NSBundle.mainBundle().loadNibnamed("CameraOverlay",owner: nil,options: nil).first as? CameraOverlayVIEw if myVIEw != nil{ myVIEw?.imagePicker=imagePicker myVIEw?.frame = (imagePicker.cameraOverlayVIEw?.frame)! // imagePicker.cameraOverlayVIEw=myVIEw } //代理 imagePicker.delegate = self //打开相机 presentVIEwController(imagePicker,animated: true,completion: { self.imagePicker.cameraOverlayVIEw = myVIEw }) //是否可编辑 imagePicker.allowsEditing=false }总结
以上是内存溢出为你收集整理的swift开发笔记26 使用xib自定义相机界面全部内容,希望文章能够帮你解决swift开发笔记26 使用xib自定义相机界面所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)