由于最近項目需要制作一個可定制的底部彈窗效果,因此研究了一下UIActionSheet,打算重寫一個自定義的彈窗,在寫demo的時候出于偷懶的原因,直接在新建項目的
- (void)viewDidLoad {}
中寫入了窗口切換測試代碼,結果在調試的時候就出現了如下錯誤信息:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'application windows are expected to have a root view controller at the end of application launch'
?
在網上搜索了一下大多數朋友都說是因為Xcode的版本導致的,需要在
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {}
?
方法中手動添加一個rootViewController。按照上述方法做了之后發下依舊報相同BUG,隨后將窗口切換代碼寫入按鈕點擊事件,通過點擊事件觸發切換。通過該方法解決了這個問題。
初步原因分析:
可能是在viewDidLoad的時候并沒有進行界面的繪制,而在這個時候切換窗口所以導致了該異常的錯誤,這只是片面的猜測,希望有知道的朋友指正下。
自定義action sheet GIT鏈接:https://github.com/SuPair/SUActionSheet
新聞熱點
疑難解答