执行另一个ViewController的功能

时间:2014-12-13 00:05:56

标签: ios function swift

我在ViewController中有一个函数,我希望从ProfileViewController中的UIButton执行此操作。我该怎么做?以下是我尝试的代码。

ViewController

中的代码
func hideProfileButton (sender:AnyObject) {
    self.profileButtonOutlet.hidden = true
}

ProfileViewController

中的代码
ViewController.hideProfileButton(self)

1 个答案:

答案 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调用该通知(不是更好的解决方案)