我在ViewController
中有一个函数,我希望从ProfileViewController
中的UIButton执行此操作。我该怎么做?以下是我尝试的代码。
ViewController
func hideProfileButton (sender:AnyObject) {
self.profileButtonOutlet.hidden = true
}
ProfileViewController
ViewController.hideProfileButton(self)
答案 0 :(得分:0)
你不能直接从另一个类的UIButton 执行一个类的@IBAction
在这里,你正在处理所有者和奴隶之类的事情
在storyboard / Xib文件中,如果你定义了viewcontroller的所有者是ProfileViewController,那么该视图的UIButton只响应它的所有者@IBAction。
你可以拥有一个拥有一个所有者的Viewcontroller,例如拥有相同所有者的两个xib文件然后你就可以做一些像你说的那样两个不同的Xib文件按钮调用@ IBAction,br>
你能做的是......
1]在@IBAction
中创建ProfileViewController
并致电ViewController's method
2]在delegate
实施协议中创建ProfileViewController
对象,例如“btnClicked”,并通过实施将ViewController
设为response that delegate
。
3]创建NSNotification
并以观察员身份ViewController
并从ProfileViewController
调用该通知(不是更好的解决方案)