如何告诉UIViewController在UIPopOverController中按下按钮?

时间:2011-04-27 18:03:58

标签: iphone uiviewcontroller uipopovercontroller

我认为标题是自我解释。 我有一个UIPopOverController,它是一个tableview,当我选择一个单元格时,我想告诉它UIViewController。

是否有简单的解决方案,还是需要KeyValueObserving或通知?

3 个答案:

答案 0 :(得分:1)

从tableview发布NSNotification并将UIViewController添加为观察者。

答案 1 :(得分:1)

根据您的选择,您可以采用两种方法之一。

首先:使用委托/协议。 http://www.thepensiveprogrammer.com/2010/05/objective-c-protocols-and-delegates.html

秒:将您的UIViewController设置为您的UIButton的目标。

例如

[btn addTarget:myController action:@selector(ActionWillBePerformedInController:) forControlEvents:UIControlEventTouchUpInside];

答案 2 :(得分:1)

发布NSNotification将很有效...您还可以在UITableViewController类中创建回调对象和选择器。

您可以使用回调对象和回调选择器

初始化UITableViewController
initWithTarget:(id)theTarget andSelector:(SEL) theSelector

...将值保存到属性

然后从tableView中的didSelectRowAtIndexPath ...调用

[self.target performSelector:self.selector];

使用这种方法,您可以根据需要定义自己的回调方法..从创建弹出窗口的ViewController类中,您可以执行以下操作...

[[MyTableView alloc] initWithTarget:(self) andSelector:@selector(popoverControllerDidRequestClose)];