我想从一个视图控制器到另一个视图控制器的动作3 xcode
问题描述:
我在第一个视图控制器和另一个视图控制器中有一个ImageView动作按钮 - 该按钮的作用是更改图像中的首先通过此代码查看控制器。我想从一个视图控制器到另一个视图控制器的动作3 xcode
ImageThemed是第一个ImageView。
此操作位于第二个视图控制器中。
@IBAction func MM(_ sender: Any) {
ImageThemed.image = UIImage(named:"Nike.png")
所有我想要做的是通过在第二视图控制器按下按钮设置在所述第一视图控制器的图像。由于第二视图控制器嵌入在第一视图控制器中。
我该怎么做?
答
可能最好的解决方案是使用代表团。 你必须在第二个视图控制器(带有按钮)来声明协议:
protocol SomeOtherViewControllerDelegate {
func changeImageButtonPressed()
}
...
class SomeOtherViewController:UIViewController {
... // your existing properties
var delegate: SomeOtherViewControllerDelegate!
... // properties, methods etc...
}
你也必须符合该FirstViewController
(具有UIImageView
)到您的协议SomeOtherViewControllerDelegate
:
class FirstViewController: UIViewController, SomeOtherViewControllerDelegate {
...
func changeImageButtonPressed() {
ImageThemed.image = UIImage(named:"Nike.png") // change the image
}
}
那么无论你中嵌入SomeOtherViewController
到您FirstViewController
,你必须设置委托:
let someVC:SomeOtherViewController = ...
// self = your FirstViewController instance
someVC.delegate = self
还没有。因为我不知道,如何做到这一点..! – AshishVerma
你有没有搜索过它?有很多解决方案,因为你只需要谷歌它。 – Rajat
你有什么建议吗? – AshishVerma