从子视图调用视图控制器中的方法

时间:2011-10-06 16:08:40

标签: objective-c ios ios4

在我的ViewController中,我创建了一个包含按钮和一堆其他元素的视图。按下按钮时,我想从父ViewController调用一个方法。我试过了:

[self.superview buttonPressedMethod];

但superview不是ViewController而是UIView。反正有吗?

3 个答案:

答案 0 :(得分:1)

这正是目标/行动机制的用途。使视图控制器中的方法成为IBAction。将视图控制器设置为按钮的目标,并将方法设置为其操作。这应该就是你需要做的一切。

答案 1 :(得分:0)

At ParentViewController.h 
-(void)ParentMethod;

At ParentViewController.m
-(IBAction)button:(id)sender {
       [self ParentMethod];
}

At IBAction of Play Button on child view controller do this:
-(IBAction)ChildMethod:(id)sender {
       ParentViewController *parent=self.parentViewController;
       [parent ParentMethod];
}

答案 2 :(得分:0)

最好在视图控制器中创建委托并在子视图中设置委托,这样当出现问题时,请根据它调用委托方法。