2016-12-03 75 views

回答

0

無需任何代碼,我可能會很離譜 - 請,如果是這樣,包括代碼,它會幫助我們。我的假設是這樣的 - 你有一個UIButton在一個UIView(與關聯的UIViewController),並希望在另一個UIView(與不同的UIViewController)知道該按鈕被點擊的代碼。此外,您的控制器會公開暴露並稱爲「vc1」和「vc2」。

你可以做到這一點的方式如下:

VC#1

  • 的UIButton的被稱爲myButton的。雖然你不需要在IB中定義它(與相關的IBOutlet和IBAction相關),但我們假定你有 - 只要記住,你可以在代碼中完全做到這一點。

VC#2

  • 你希望觸發一個名爲myFunction的(發件人: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()方法。

相關問題