当按钮快速按下时,在下一个视图中显示不同的图像?

时间:2017-05-11 15:09:22

标签: ios swift uiviewcontroller uiimageview

按下按钮时如何在同一个下一个viewcontroller中显示不同的图像。

当按下第一个按钮时,它应该显示一个图像,当按下第二个按钮时,它应该在第二个视图控制器中显示其他图像。

可以通过使用三个不同的视图控制器来完成,并且使用segue只是避免添加许多视图控制器,我希望它在同一视图控制器中显示。

提前致谢。

2 个答案:

答案 0 :(得分:2)

在原始视图控制器的prepare上,设置应在下一个视图控制器上显示的图像名称。

在下一个视图控制器上,您只需读取它并命名并从中创建一个UIImage。

Origin VC:

var imageToLoad : String = ""

@IBAction func btnA(_ sender: UIButton) {
   imageToLoad = "imageA"
}

@IBAction func btnB(_ sender: UIButton) {
   imageToLoad = "imageB"
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  if let destinarionVC = segue.destination as! NEXT_VIEW_CONTROLLER {
    destinarionVC.imageName = self.imageToLoad
  }
}

下一个VC:

var imageName : String = ""
var image : UIImage

override func viewDidLoad() { //Or wherever you need it to be
  image = UIImage(name: imageName)
}

答案 1 :(得分:0)

尝试使用Carbonkit Framwork

https://github.com/ermalkaleci/CarbonKit

您可以使用单个视图控制器并更改动画,感觉就像移动到另一个视图控制器。实际上它移动到另一个视图控制器,但它与以前的视图控制器相同。