Xcode Swift:如何防止UIImagePicker方法takePicture()调用didFinishPickingMediaWithInfo
我正在从我的iImagePicker开发一个定制的覆盖Xcode Swift:如何防止UIImagePicker方法takePicture()调用didFinishPickingMediaWithInfo,xcode,swift,uiimagepickercontroller,camera-overlay,Xcode,Swift,Uiimagepickercontroller,Camera Overlay,我正在从我的iImagePicker开发一个定制的覆盖 func prepareImagePicker() -> CustomOverlayView { self.imagePicker = UIImagePickerController() self.imagePicker.delegate = self self.imagePicker.sourceType = .Camera self.imagePicker.cameraCaptureMode =
func prepareImagePicker() -> CustomOverlayView {
self.imagePicker = UIImagePickerController()
self.imagePicker.delegate = self
self.imagePicker.sourceType = .Camera
self.imagePicker.cameraCaptureMode = .Photo
self.imagePicker.showsCameraControls = false
self.imagePicker.modalPresentationStyle = .FullScreen
//customView stuff
let customViewController = CustomOverlayViewController(
nibName:"CustomOverlayViewController",
bundle: nil
)
let customView:CustomOverlayView = customViewController.view as! CustomOverlayView
customView.frame = self.imagePicker.view.frame
customView.delegate = self
return customView
}
@IBAction func takeSnapshot(sender: UIButton) {
let customView:CustomOverlayView = self.prepareImagePicker()
presentViewController(imagePicker, animated: true, completion: {
self.imagePicker.cameraOverlayView = customView
})
/*let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 1 * Int64(NSEC_PER_SEC))
dispatch_after(time, dispatch_get_main_queue()) {
self.startMotionManager()
}*/
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
self.motionManager.stopDeviceMotionUpdates()
self.imagePicker.dismissViewControllerAnimated(true, completion: nil)
let takenPhoto:UIImage = (info[UIImagePickerControllerOriginalImage] as? UIImage)!
self.imageView.image = takenPhoto
}
这很有效,照片拍摄正确。无论如何,只要takePicture()
完成,我就不会等待按下“接受照片”按钮并立即返回到我的UIViewController
,在那里刚刚拍摄的照片显示在UIImageview
中。如何强制UIImagePicker
在调用didFinishPickingMediaWithInfo
之前等待按钮按下