【问题标题】:Calling function from popover从弹出框调用函数
【发布时间】:2011-01-28 18:56:58
【问题描述】:

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

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

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

  • 我已将 MainView 的标题导入弹出框。
  • 我在弹出窗口中为 MainView 做了一个 @class 事情。
  • doStuff 在 MainView 的标头中声明。
  • IBOutlets 也被声明并连接。

有什么想法吗?

【问题讨论】:

  • 你是-addSubview:mainView吗?
  • 不,我认为我没有。让我检查一下……
  • 是“[self.view addSubview:mainView]”吗?因为当我把它放在调用 dostuff 的 IBAction 中时,应用程序就会崩溃。
  • 我现在正试图通过委托调用它,但它仍然拒绝工作。
  • 嗨 user288225,你解决了吗?我面临同样的问题。如果你想出办法,请帮助我

标签: methods ipad uipopovercontroller popover


【解决方案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];
    }

希望对你有帮助,

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

谢谢,

马杜普

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多