Objective c 在基于视图的应用程序中,拆分视图在纵向模式下崩溃

Objective c 在基于视图的应用程序中,拆分视图在纵向模式下崩溃,objective-c,uisplitviewcontroller,ipad,landscape-portrait,Objective C,Uisplitviewcontroller,Ipad,Landscape Portrait,我正在开发一个基于视图的iPad应用程序。它是一个简单的基于视图的应用程序,其中第一个加载的视图包含一个按钮。单击此按钮,我将创建一个包含两个UINavigationController(一个主视图和其他详细视图)的SplitViewController。在此之后,我将删除当前视图(第一个视图)以及将splitViewController的视图添加到窗口中。主控面板包含一个按钮作为条形按钮项(主页按钮),用于删除splitViewController的视图并将第一个视图添加到窗口中。 如果我在横

我正在开发一个基于视图的iPad应用程序。它是一个简单的基于视图的应用程序,其中第一个加载的视图包含一个按钮。单击此按钮,我将创建一个包含两个UINavigationController(一个主视图和其他详细视图)的SplitViewController。在此之后,我将删除当前视图(第一个视图)以及将splitViewController的视图添加到窗口中。主控面板包含一个按钮作为条形按钮项(主页按钮),用于删除splitViewController的视图并将第一个视图添加到窗口中。 如果我在横向模式下启动应用程序,它可以正常工作。但是如果我在纵向模式下启动应用程序并单击主页按钮(在主导航栏上),它不会到达第一个视图,并显示以下错误。如果我将方向从纵向改为横向,也会出现此错误,如果我以纵向模式启动应用程序

2012-05-18 19:12:52.796 test_Project[3703:f803] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIPopoverController presentPopoverFromRect:inView:permittedArrowDirections:animated:]: Popovers cannot be presented from a view which does not have a window.'

要显示popover,父视图应具有有效的帧。所以,在添加popover后,请检查是否正在为父视图设置帧。

最后,我自己得到了答案。 在基于视图的应用程序中,当使用popover时,因此当从拆分视图返回到视图时,请先关闭该popover(隐藏),然后删除拆分视图