如何使用Segue从didFinishPickingMediaWithInfo发送UIImage?

时间:2016-10-07 14:37:21

标签: ios iphone swift segue uiimagepickercontroller

所以我拥有:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info:[String : Any]) {
    let tempImage: UIImage = info[UIImagePickerControllerOriginalImage] as! UIImage
    let imagetoTransmit: UIImage = tempImage
    shootedImage = imagetoTransmit
    self.performSegue(withIdentifier: "cameraSegueIdent", sender: nil)
    dismiss(animated: true, completion: nil)
}

塞格:

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "cameraSegueIdent" {
        let imageToTransmit: UIImage = shootedImage
        let viewController = (segue.destination as! TakenPhotoPreviewViewController)
        viewController.takenImage = imageToTransmit
    } 
}

正在发送图像,但是Segue没有执行。
请帮忙!

更新

我认为将图像作为发送者发送,而不保存在当前的ViewController中,它就像一个魅力!

  func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info:[String : Any]) {

    let tempImage: UIImage = info[UIImagePickerControllerOriginalImage] as! UIImage
    self.dismiss(animated: true) {
    self.performSegue(withIdentifier: "cameraSegueIdent", sender: tempImage)
    }
}

1 个答案:

答案 0 :(得分:0)

以下可能有帮助。

    let tempImage: UIImage = info[UIImagePickerControllerOriginalImage] as! UIImage
    let imagetoTransmit: UIImage = tempImage
    shootedImage = imagetoTransmit
    _ picker.dismissViewControllerAnimated(true, completion: {
        self.performSegue(withIdentifier: "cameraSegueIdent", sender: nil)
    })

另外,请确保在故事板中正确配置了segue标识符。