好吧,所以我从我的主视图中制作了一个弹出窗口以及所有这些好东西。但我想让我的弹出窗口在按下弹出窗口中的按钮时在主视图中调用一个操作。

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

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

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

有任何想法吗?

有帮助吗?

解决方案

令人失望的是,我们没有直接的方法可以用来检查弹出窗口显示在哪个视图(视图控制器)中。我在基于选项卡的应用程序中所做的事情是:

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];
    }

希望这可以帮助,

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

谢谢,

马杜普

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top