如何告诉我的 imagePickerController 委托我的自定义 UIButton 正在处理拍照

How to I tell my imagePickerController delegate that my custom UIButton is handling the taking of the picture

如何在 didFinishPickingImage 委托方法中指示 imagepickercontroller 委托允许我的自定义 UIButton 拍照,然后将其存储在 imageView 文件中?将不胜感激。

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

override func viewDidAppear(animated: Bool) {
    overlayView.opaque = true
    overlayView.backgroundColor = UIColor.clearColor()

    imagePicker.sourceType = UIImagePickerControllerSourceType.Camera
    imagePicker.delegate = self
    imagePicker.showsCameraControls = false
    imagePicker.allowsEditing = true
    imagePicker.cameraOverlayView = overlayView

    self.presentViewController(imagePicker, animated: false, completion: nil)
}

无法通过 imagepickercontroller 的委托实现。你必须按原样使用它。如果您希望自定义按钮执行某些操作 - 不幸的是,您必须编写自己的 imagepickercontroller。

您需要实施 didFinishPickingMediaWithInfo: 委托。当您使用自定义拍摄按钮拍照时,将调用此委托方法。

func imagePickerController(_ picker: UIImagePickerController,
      didFinishPickingMediaWithInfo info: [String : AnyObject])
{
    let image: UIImage  = info[UIImagePickerControllerOriginalImage] as! UIImage;
    yourImageView.image = image;
}