0

我正在开发一个基于视图的 iPad 应用程序。它是一个简单的基于视图的应用程序,其中第一个加载的视图包含一个按钮。单击此按钮后,我正在创建一个 SplitViewController,其中包含两个 UINavigationControllers(一个主控和另一个细节),我正在删除当前视图(第一个视图)并将 splitViewController 的视图添加到窗口。Master 包含一个按钮作为栏按钮项(主页按钮),它可以删除 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.'
4

2 回答 2

0

要呈现弹出框,父视图应该具有有效的框架。因此,请尝试检查您是否在添加弹出框后为父视图设置框架。

于 2012-05-18T15:01:57.647 回答
0

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

于 2012-06-22T08:35:09.457 回答