作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想知道,如何在 iPhone 编程中从 AppDelegate = [[UIApplication sharedApplication] delegate]
获取 navController。例如,在我们引用 AppDelegate 的其他 viewController 中。
在 applicationDelegate.h 中我们有:
UINavigationController *navController;
以及 applicationDelegate.m 中的以下内容
- (void)applicationDidFinishLaunching:(UIApplication *)application {
[window addSubview: navController.view];
[window makeKeyAndVisible];
}
有没有办法从主窗口获取 navController:
UIWindow *mainWindow = [appDelegate window];
最佳答案
如果这个其他 UIViewController 包含在 UINavigationController 中,您可以简单地调用:
UINavigationController *navController = self.navigationController;
来自 UIViewController。
否则,您可以将 UINavigationController 设置为 AppDelegate 中的属性。
// AppDelegate.h
@property (nonatomic, strong) UINavigationController *navController;
然后访问appDelegate.navController
。
或者,您可以将 UINavigationController 设置为窗口的 rootViewController:
[window setRootViewController:navController];
从任何地方调用:
UINavigationController *navController = window.rootViewController;
关于iphone - 如何从 AppDelegate 获取 navController。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10039856/
我是一名优秀的程序员,十分优秀!