从popover调用函数

时间:2010-03-17 21:19:21

标签: methods ipad uipopovercontroller popover

好吧,所以我从主视图和所有好东西做了一个popover。但是当我按下弹出框中的按钮时,我想让我的popover在我的主视图中调用一个动作。

MainView *mainView = [[MainView alloc] initWithNibName:@"MainView" bundle:nil]; [mainView doStuff];

“dostuff”功能会更改视图中的某些元素。例如,应该更改工具栏的颜色。我已经放了一个打印命令并执行了print命令。但由于某种原因,工具栏不会改变颜色。

  • 我已将MainView的标题导入到popover中。
  • 我在popover中为MainView做了一个@class thingy。
  • doStuff在MainView的标题中声明。
  • IBOutlets也被声明并连接。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

令人失望的是,我们没有可用于检查弹出窗口的视图(视图控制器)的直接方法。我在基于标签的应用程序中所做的事情是:

New_iPadAppDelegate *appDel = (New_iPadAppDelegate *)[[UIApplication sharedApplication] delegate];
    NSArray *viewConts = [(UINavigationController *)[[appDel tabBarController] selectedViewController] viewControllers];
    MainViewController *viewController =  (MainViewController *)[viewConts lastObject];
    if([[viewController popoverController] isPopoverVisible]){
        [viewController doStuff];
    }

希望这有帮助,

我知道这不是最好的方法,希望苹果考虑这个问题,或者是否有人设计了一个解决方案。

谢谢,

Madhup