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

标签 ios swift uiimageview xcode6 ios8.3

我有两个 ViewController。我的第一个 View 有两个按钮(按钮 1 和按钮 2,每个按钮都使用 UIImageView 连接到第二个 View 。

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

最佳答案

任何 View Controller 都实现了prepareForSegue,您可以重写此函数以将数据传递到segue的目标 View 。

  1. 在 Storyboard中为两个 segue 分配一个标识符,例如 button1button2
  2. 在第一个 View Controller 中重写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. 在第二个 View Controller 的 viewDidLoad 内,您可以根据在第 2 点设置的 image 属性设置 UIImageView 的图像。

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

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

关于ios - 当在 MainView 上按下按钮时,如何在 SecondViewController 上显示不同的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31683902/

相关文章:

ios - 每天点击 N 次即可锁定功能

ios - png数据返回UIImage

ios - Alamofire 线程甚至可以在屏幕上的另一个 View Controller 上工作吗? ios

ios - swift 3.0 : How to save a user's image in the app from an imagePicker

ios - 如何检查当前单击了哪个 uiimageview?

ios - 如何在 SwiftUI 中点击 ActionSheet.Button 后呈现 View ?

ios - 组合标签栏和导航栏 Controller 出现问题

ios - 具有部署目标iOS 8.3的应用程序可以在iOS 8.2上运行吗?

ios - 使用 SWIFT 和 Facebook 的认知登录示例

ios - UIImageView没有调整大小