【发布时间】:2016-10-27 14:08:42
【问题描述】:
我正在尝试将从UIImagePickerController 捕获的图像传递给另一个ViewController,但图像没有通过。
这是第一个ViewController的代码:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject])
{
chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage
newImageView.contentMode = .scaleAspectFit
newImageView.image = chosenImage
self.performSegue(withIdentifier: "pass", sender: self)
dismiss(animated:true, completion: nil)
let svc = self.storyboard!.instantiateViewController(withIdentifier: "demoViewController") as! demoViewController
present(svc, animated: true, completion: nil)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "pass"
{
let imgpass = segue.destination as! demoViewController
imgpass.newphoto = chosenImage
}
}
第二个ViewController的代码:
override func viewDidLoad() {
super.viewDidLoad()
myImageView.image = newphoto
}
我浏览了很多其他类似的帖子并实现了它们,但无法通过图像。
【问题讨论】:
-
能不能给这一行加断点,看看 newphoto myImageView.image = newphoto 的值?
-
在你的 imagePickerController func:你为什么要做
performSegue和present?你应该只做其中之一。您不能同时转到 2 个视图控制器。
标签: ios swift uiimage uiimagepickercontroller uistoryboardsegue