我在iPad上的安裝程序是處理應用程序主要內容的UISplitViewController。這被設置爲UIWindow的rootViewController。UIViewController dismissViewControllerAnimated:完成:導致應用程序凍結
當應用程序啓動時,我測試以查看用戶是否能夠登錄到Web服務。如果用戶無法訪問Web服務,則會向用戶提供處理認證的UIViewController子類。 [splitViewController dismissViewControllerAnimated:YES completion:nil];
使用顯示應用程序(http://revealapp.com)我能看到splitViewController: [splitViewController presentViewController:loginViewController animated:YES completion:nil];
當用戶成功登錄後,loginViewController通過調用辭退:在UIViewController子類是通過調用模態呈現現在正以模態方式呈現,而不是如預期那樣。
由於splitViewController以模態方式呈現,它現在不接受來自用戶的任何輸入。
有沒有人遇到過這種情況,並能夠幫助我。
UPDATE:
的問題看起來是與登錄正在嘗試時被提出了UIAlertView中做。這出現在用戶點擊「登錄」和登錄驗證之間。有誰知道爲什麼/如何導致問題? UIAlertView沒有被正確解僱或者LoginViewController沒有被解僱。
謝謝,
馬特。
確保您駁回主線程視圖控制器。特別是因爲你是一個身份驗證請求響應,如果你是從一個回調方法,你可能不會,它可能會導致各種奇怪的問題.... – lnafziger
將它放在一個dispatch_async(dispatch_get_main_thread(),^{});塊。 –
儘管控件未返回到splitViewController,但該視圖已被解除。 –