当应用程序转到后台时,UIWindow变为NULL

时间:2016-05-04 13:22:40

标签: ios objective-c cocoa-touch

我在应用加载时UITabBarController嵌入UINavigationController,显示初始UIViewControllerself.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];方法。

任何想法为什么会这样?

1 个答案:

答案 0 :(得分:1)

只有当self.view位于前台时才能访问

self.view.window

作为财产

@property(nullable, nonatomic,readonly) UIWindow *window;

属于Hierarchy界面@interface UIView(UIViewHierarchy)