UIPopoverController *popCtrl = [[UIPopoverController alloc] initWithContentViewController:self.rootViewController.navigationController];
popCtrl.delegate = self;
[popCtrl presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
此代碼位於按鈕操作中,其中按鈕是「發件人」。異常「應用程序試圖呈現模態化的主動控制器」僅在iOS 8中崩潰
帶presentPopoverFromBarButtonItem的行會導致引發異常,原因如下:Application tried to present modally an active controller DetailViewController: 0x15a54c00
。在這種情況下,DetailViewController是「self」,它只是popCtrl的委託,所以我不明白它是如何嘗試以模態方式呈現的。它應該呈現rootViewController.navigationController。
正如您可能已經從名稱中猜到的那樣,rootViewController和detailViewController在SplitViewController中,但在嘗試使用彈出窗口呈現rootViewController之前,它將從SplitViewController中移除。
這隻發生在使用iOS 8 SDK構建的iOS 8上。它也不是100%可重複的。大多數情況下,這種異常發生,但有時在重新啓動應用程序後,它根本不會發生,直到我重新運行該應用程序,然後它再次開始發生。 (我把它放在try/catch中,所以我知道它每次運行可能會發生一次以上)。
我幾乎肯定這是SDK中的另一個iOS 8錯誤,但有人提出了一種解決方法?
此錯誤仍然存在於iOS8.1 – Steve 2014-10-20 20:35:21
請參考以下鏈接我希望這將幫助你 http://stackoverflow.com/questions/25094028/application-tried-to-present-modally-an -active-controller-crashing-why – sandy 2014-10-21 08:55:53
感謝您的提示,但我不認爲這可以幫助我,因爲我沒有使用故事板或繼續使用。 – Steve 2014-10-21 15:26:16