how to get my UIWindow using UIApplication?

前端 未结 4 1892
半阙折子戏
半阙折子戏 2020-12-25 10:21

I have only one window and I tried

UIWindow* mWindow = [[UIApplication sharedApplication] keyWindow];

but this returned nil.

I also

4条回答
  •  执笔经年
    2020-12-25 10:46

    Your application's key window isn't set until [window makeKeyAndVisible] gets called in your app delegate. Your UIViewController is probably being loaded from a NIB before this call. This explains why keyWindow is returning nil.

    Luckily, your view controller doesn't need to go through UIApplication to get the window. You can just do:

    UIWindow *mWindow = self.view.window;
    

提交回复
热议问题