ios - 如何将 UI ImageView 从一个 View Controller 传递到另一个? swift 3

标签 ios iphone swift uiimage

我正在尝试将此 UI ImageView 从一个 View Controller 传递到同一 Storyboard上的另一个 View Controller 。我已经将 UI TextField 传递给 UI Label 和 UI Button。现在我需要使用 UI ImageView 来完成。

这是我的两个 View Controller 。

import UIKit

class PhotoShareViewController: UIViewController {

    @IBOutlet weak var imageView: UIImageView!
    @IBOutlet weak var contentTextView: UITextView!

    @IBOutlet weak var thatTextField: UITextField!
    @IBOutlet weak var thisTextField: UITextField!
    var presenter: PhotoShareModuleInterface!
    var image: UIImage!


    @IBAction func thisUploadPhoto(_ sender: Any) {

        if thisTextField.text != "" && thatTextField.text != ""
        {
            performSegue(withIdentifier: "segue", sender: nil)
        }
    }


    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {


        var photoShareLabelViewController = segue.destination as! PhotoShareLabelViewController


        photoShareLabelViewController.thisString = thisTextField.text!

        photoShareLabelViewController.thatString = thatTextField.text!

    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)

        imageView.image = image
    }

    override var prefersStatusBarHidden: Bool {
        return true
    }

    @IBAction func didTapCancel(_ sender: AnyObject) {
        presenter.cancel()
        presenter.pop()
    }

 /*   @IBAction func didTapDone(_ sender: AnyObject) {
        guard let message = thatTextField.text, !message.isEmpty else {
            return
        }
        guard let messageOne = thisTextField.text, !messageOne.isEmpty else {
            return
        }



        presenter.finish(with: image, content:message)
        presenter.dismiss()
    }
}
 */
}

extension PhotoShareViewController: PhotoShareViewInterface {

    var controller: UIViewController? {
        return self
    }
}

如果有人能告诉我如何将图像从一个 View Controller 发送到另一个 View Controller ,那就太棒了!

最佳答案

您没有显示 PhotoShareLabelViewController,但大概它有:

var thisString: String?

添加

var thisImage: UIImage?

然后像thisString一样传递它

photoShareLabelViewController.thisImage = imageView.image

然后在 PhotoShareLabelViewControllerviewDidLoad 中获取它(这可能是您获取 thisString 的地方)。像这样的东西:

self.imageView.image = self.thisImage

但是,使用您正在使用的任何变量名称。

简而言之,只需复制您对 thisString 所做的操作,但使用 UIImage 作为类型而不是 String

注意:您不会将 UIImageView 从一个 VC 传递到另一个 VC(这是不可能的)。您正在将图像从一个 VC 的 imageview 传递到另一个 VC。

关于ios - 如何将 UI ImageView 从一个 View Controller 传递到另一个? swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45576389/

相关文章:

ios - 根据 UILabel 内容调整 UITableViewCell 高度

IOS : Custom Layouts does not work, CollectionView:cellForItemAtIndexPath: 未调用方法

ios - 如何在 Swift 中定义强大的 IBOutlet 属性?

ios - 线程 1 : break point error to send post method

iOS 缓存 UIWebView

ios - NSPredicate 和 Core Data 多表查询

ios - UITextView 上的手势动画

ios - HTML 字符串中无法识别项目符号点

ios - 应用程序支持 iTunes 文件共享,但在 iOS 10 中不起作用

swift - 如何在 uitableviewcell 上仅在您自己发布的帖子上显示编辑按钮