我想为项目创建一个导出。 UIButton 位于不同的 View Controller 中。我可以在第一个 View Controller 中创建 socket 和操作,但不能创建我附加的任何 socket 和操作
最佳答案
如果没有任何代码,我可能会很遥远 - 如果是这样,请包含代码,这会对我们有所帮助。
我的假设是这样的 - 您在一个 UIView (具有关联的 UIViewController)中有一个 UIButton,并且希望在另一个 UIView (具有不同的 UIViewController)中有代码知道该按钮被单击。此外,您的 Controller 是公开公开的,称为“vc1”和“vc2”。
您可以通过以下方式完成此操作:
VC#1
- UIButton 称为 myButton。虽然您不需要在 IB 中定义它(以及关联的 IBOutlet 和 IBAction),但我们假设您已经定义了 - 请记住,您可以完全在代码中完成此操作。
VC#2
- 您希望触发一个名为 myFunction(sender: UIButton) 的函数,并具有所有相关的好处,包括了解所单击的按钮的属性。
这就是你要做的:
VC#1
@IBOutlet weak var myButton:UIButton!
@IBAction func tapped(_ sender: UIButton) {
sender.sendAction(#selector(vc2.buttonClicked:)), to: nil, for: nil)
}
VC#2
public func buttonClicked(sender: UIButton) {
// your code here
}
另一种选择是使用 UIButton.sendAction() 方法。
关于ios - 如何在不同的 View Controller 中创建 socket ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40943596/