查看此问题的最简单方法是在此处运行示例项目:
基本上,它是一个uisplitviewcontroller,可以在2个细节视图之间切换,这两个视图都是导航控制器。
问题是它崩溃时出现以下错误:
MultipleDetailViews [8531:207] * 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'无法从没有窗口的视图中显示弹出窗口。'
如果您在PORTRAIT中使用该应用程序,并且您从第一个控制器导航(仍然是纵向),再从第一个控制器导航到第二个控制器,再导航到第一个控制器,然后使用弹出控制器进行繁荣CRASH,则会出现此错误。< / p>
停止崩溃的一种方法是停止延迟加载导航控制器并每次加载它们,但这不是我正在制作的应用程序的选项。
任何想法,我都会坠入爱河。
答案 0 :(得分:1)
尝试在导致崩溃的行之前使用if(self.view.window!= nil)。