Swift ImagePickerController didFinishPickingMediaWithInfo没
发布时间:2020-12-14 05:38:28 所属栏目:百科 来源:网络整理
导读:我使用 ImagePickerController来获取配置文件图像.用户有一个按钮.该按钮触发CamRoll功能.单击该按钮时,将显示正常的ImagePickerViewController,但不会调用didFinishPickingMediaWithInfo.在早期版本的 Swift / Xcode中,调用了相同的代码.这是我的代码. impo
我使用
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以获取更多详细信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |