在 MainView 上按下按钮时如何在 SecondViewController 上显示不同的图像

How to display a different images on a SecondViewController when a button is pressed on the MainView

我有两个 ViewController。我的第一个视图有两个按钮(button1 和 button2,每个按钮使用 UIImageView 转到第二个视图。

我想要发生的事情是,当我按下按钮 1 时,第二个视图中将显示一个图像,当我返回第一个视图并按下按钮 2 时,另一个图像将显示在视图中。我已经能够通过使用 tableView 来实现这一点,但这并不是我想要布局设计的方式。

任何视图控制器实现 prepareForSegue,您可以覆盖此函数以将数据传递到您的 segue 的目标视图。

  1. 在你的故事板中为你的两个 segue 分配一个标识符,比方说 button1button2
  2. 在第一个视图控制器中覆盖prepareForSegue

    override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
        let destination = segue.destinationViewController as! SecondViewController
        if segue.identifier == "button1" {
            destination.image = image1
        } else if segue.identifier == "button2" {
            destination.image = image2
        }
    }
    
  3. 在第二个视图控制器中,在 viewDidLoad 中,您可以根据在点 2 上设置的 image 属性 设置 UIImageView 的图像。

    class SecondViewController: UIViewController {
        var image: UIImage!
        @IBOutlet var imageView: UIImageView!
    
        override viewDidLoad() {
            super.viewDidLoad()
    
            imageView.image = image
        }
    }
    

注意:记得将第二个视图控制器的名称更改为您的名称。 我假设您在包含两个图像的第一个视图控制器中有两个属性,但您也可以在 prepareForSegue 中加载它们,或者只传递图像名称并在第二个视图控制器中加载图像。