【发布时间】:2016-05-04 13:22:39
【问题描述】:
我在UINavigationController 中嵌入了一个UITabBarController,当应用加载时它显示初始UIViewController,而self.view.window 属性不是NULL。
但是当我将应用程序置于后台模式并点击应用程序图标以使应用程序变为活动状态时,self.view.window 属性为 NULL。
我在 AppDelegate.h @property (nonatomic, strong) UIWindow *window; 中有属性声明
然后我在 AppDelegate.m 中设置它,就像 self.window = [[UIWindow alloc] initWithFrame:UIScreen.mainScreen.bounds]; 在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中一样。
然后我有[self.window setRootViewController:launchViewController]; 和[self.window makeKeyAndVisible]; 方法。
任何想法为什么会发生这种情况?
【问题讨论】:
-
是弱属性吗?
-
确保在 didFinishLaunchingMethod 中有这些代码行,self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; self.window.rootViewController = YourViewController; [self.window makeKeyAndVisible];
-
这些方法我都有。我没有在界面生成器中设置
initialViewController,因为我是以编程方式完成的。
标签: ios objective-c cocoa-touch