Swift ImagePickerController didFinishPickingMediaWithInfo没有被解雇

我使用 ImagePickerController来获取配置文件图像.用户一个按钮.该按钮触发CamRoll功能.单击该按钮时,将显示正常的ImagePickerViewController,但不会调用didFinishPickingMediawithInfo.在早期版本的 Swift / Xcode中,调用了相同的代码.这是我的代码.
import UIKit

class AnnonseViewController: UIViewController,UIImagePickerControllerDelegate {

@IBOutlet var Image: UIImageView!

override func viewDidLoad() {
    super.viewDidLoad()

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // dispose of any resources that can be recreated.

}

@IBAction func CamRoll(_ sender: Any) {

    let imagePicker = UIImagePickerController()

    imagePicker.delegate = self

    imagePicker.sourceType = UIImagePickerControllerSourceType.photoLibrary

    self.present(imagePicker,animated: true,completion: nil)

}

private func imagePickerController(_ picker: UIImagePickerController,didFinishPickingMediawithInfo info: [AnyHashable: Any]) {
    var image = info[UIImagePickerControllerOriginalImage] as! UIImage

    let imageSize = image.size
    let width = imageSize.width
    let height = imageSize.height

    if width != height {
        let newDimensions = min(width,height)
        let widthOffset = (width - newDimensions) / 2
        let heightOffset = (height - newDimensions) / 2

        UIGraphicsBeginImageContextWithOptions(CGSize(width: newDimensions,height: newDimensions),false,0.0)

        image.draw(at: CGPoint(x: -widthOffset,y: -heightOffset),blendMode: .copy,alpha: 1.0)

        image = UIGraphicsGetimageFromCurrentimageContext()! as UIImage
        UIGraphicsEndImageContext()

    }

    UIGraphicsBeginImageContext(CGSize(width: 150,height: 150))

    _ = UIGraphicsGetCurrentContext()

    image.draw(in: CGRect(x: 0,y: 0,width: 150,height: 150))

    let smallImage = UIGraphicsGetimageFromCurrentimageContext()

    Image.image = smallImage

    picker.dismiss(animated: true,completion: nil)


}

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
    picker.dismiss(animated: true,completion: nil)
}

}

为什么不调用代码

用于imagePickerController(_:didFinishPickingMediawithInfo :)的Swift 3中UIImagePickerControllerDelegate的正确委托方法如下所示.
func imagePickerController(_ picker: UIImagePickerController,didFinishPickingMediawithInfo info: [String : Any]) {

}

您可以在UIImagePickerControllerDelegate上查看Apple Documentations获取更多详细信息.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...