如何引用某些视图控制器

时间:2014-06-11 18:38:33

标签: ios uiviewcontroller

我试图从我的app委托中引用UITabController,即使它不是我的rootViewController。我该怎么做?

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController; UINavigationController *navigationController = [[tabBarController viewControllers] objectAtIndex:1]; DocumentsViewController *ViewController = [[navigationController viewControllers] objectAtIndex:0];

我想更改第一行代码,因此它不会引用" rootViewController"但直接引用我的UITabBarController,因为我有一个我想用于应用程序的开始屏幕。

1 个答案:

答案 0 :(得分:0)

UITabBarController的.h中声明您的AppDelegate

获取对AppDelegate的引用:

AppDelegate *delegate = [[UIApplication sharedApplication] delegate];

然后你可以这样做:

delegate.tabBarController;

或者你可以这样做:

[(AppDelegate*)[UIApplication sharedApplication] delegate] tabBarController];

另外,请确保在rootViewController /

中包含"AppDelegate.h"

修改

将其添加到.h课程的rootViewController,以便公开访问:

@property SecondViewController *mySecondViewController;

现在,当您以模态方式呈现SecondViewController之前,请确保以这样的方式执行此操作:

self.secondViewController = [[SecondViewController ...

您现在应该可以从secondViewController引用AppDelegate这样的内容:

self.rootViewController.mySecondViewController