swift开发笔记26 使用xib自定义相机界面
发布时间:2020-12-14 07:08:02 所属栏目:百科 来源:网络整理
导读:首先创建xib以及一个继承uiview的类,然后在主界面中设置相机的cameraOverlayView 为这个UIview。 创建xib,命名为 CameraOverlay : 创建类 CameraOverlayView,继承UIView 拖个按钮到xib中,并设置xib的custom class: 并把按钮的动作处理函数拖到camerover
首先创建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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |