關(guān)于APP啟動(dòng)的時(shí)候,就彈出登錄,或者訂閱,遇到的問題

  1. 在APP打開的時(shí)候就調(diào)用這個(gè)方法,有時(shí)候會(huì)失效
    LoginVC *vc = [LoginVC new];
    vc.modalPresentationStyle = UIModalPresentationFullScreen;
    [self presentViewController:vc animated:NO completion:nil];

a)、我們說說失效情況, 如果我們的跟視圖是self.window.rootViewController = rootVc
那么我們?cè)趓ootVc的viewDidLoad 中調(diào)用 [self presentViewController:vc animated:NO completion:nil]; 肯定是不成功的。
會(huì)報(bào)一個(gè)錯(cuò)誤(null)) whose view is not in the window hierarchy.

例如我們r(jià)ootVC 是 UINavigationController或者是 UITabBarController、UIViewController,那么我們?cè)谒麄兊?code>viewDidLoad方法中調(diào)用[self presentViewController:vc animated:NO completion:nil];就會(huì)失效

b)、正確的使用情況, 如果我們的跟視圖是self.window.rootViewController = rootVc

rootVc 是UINavigationController,那我們?cè)?code>UINavigationController 的 rootViewControllerviewDidLoad 方法中調(diào)用 [self presentViewController:vc animated:NO completion:nil]; ,就能夠present 成功

同理 rootVc 是UITabBarController,那我們?cè)?code>UITabBarController 的 first ChildViewControllerviewDidLoad 方法中調(diào)用 [self presentViewController:vc animated:NO completion:nil]; ,就能夠present 成功

2.在APP打開的時(shí)候找不到UIWindow

    NSLog(@" ---- %@",[UIApplication sharedApplication].keyWindow);

還是用上面的問題,替換[self presentViewController:vc animated:NO completion:nil];代入就好

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 代碼創(chuàng)建UIWindow對(duì)象 Xcode7之后使用代碼創(chuàng)建UIWindow對(duì)象: //創(chuàng)建UIWindow對(duì)象 s...
    云之君兮鵬閱讀 1,495評(píng)論 0 2
  • *7月8日上午 N:Block :跟一個(gè)函數(shù)塊差不多,會(huì)對(duì)里面所有的內(nèi)容的引用計(jì)數(shù)+1,想要解決就用__block...
    炙冰閱讀 2,734評(píng)論 1 14
  • //引導(dǎo)頁,輪播圖,網(wǎng)格視圖 @property(nonatomic,strong)UIImageView *im...
    顏值低峰期閱讀 329評(píng)論 0 0
  • 1.自定義控件 a.繼承某個(gè)控件 b.重寫initWithFrame方法可以設(shè)置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,704評(píng)論 2 4
  • # Masonry 顯示fream // 先調(diào)用superView的layoutIfNeeded方法再獲取fram...
    唯風(fēng)吹過六月閱讀 1,288評(píng)論 2 0

友情鏈接更多精彩內(nèi)容