如何在首次加载应用程序时隐藏主弹出视图?
Posted
技术标签:
【中文标题】如何在首次加载应用程序时隐藏主弹出视图?【英文标题】:How to hide the master popover view on first-time app load? 【发布时间】:2012-07-27 18:23:08 【问题描述】:我有很好的辅助函数,允许我显示/隐藏主弹出视图控制器。但是,我一生无法弄清楚如何在初始化时隐藏它,以便在应用程序首次启动时隐藏它。
我已经尝试了几件事(例如尝试从 viewLoaded 或 viewDidAppear 中关闭),但这些会引发奇怪的错误(例如,滑块计数过多...等)。
现在我开始相信必须有一种更简单且正确的方法来做到这一点。
【问题讨论】:
你在哪里展示你的UIPopoverController
?如果你能发布代码,那就太好了。
老实说,我不知道。当我创建项目时,我只使用了 UISplitViewController 模板。 popover 控制器引用是在 details 视图控制器中定义的,这对我来说很奇怪。然而,IB 认为它比这更复杂。
【参考方案1】:
您是否要隐藏 splitviewController 主弹出框?哪个方向会使这个问题更具体。我假设您实际上是在尝试在横向中隐藏 SplitView MasterPopover(因为它应该已经隐藏在纵向中)。
这样做:
你的detailViewController
应该有UISplitViewControllerDelegate
。只需将此代码放入:
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
return YES;
这将使 popoverView 在应用启动时隐藏。请让我知道这对你有没有用。
【讨论】:
我试试看。但我不确定我是否应该覆盖这个方法。我相信它只适用于 ios 5.0+,而且,当我启用此方法时,我相信其他 2 个 init 方法已过时(它们不再被调用)。此外,在横向模式下,弹出框始终存在。肖像是我希望在启动时隐藏的模式。 好的。我添加了这个方法并让它返回 YES。但是弹出窗口仍然最初显示(在纵向模式下)。 道歉。我不需要上述建议。问题是我有一个错误,我强制弹出框显示块动画何时完成(在应用程序启动时调用动画)。 正确,正如我之前提到的,“它应该已经隐藏在肖像中”如果没有,你可能就是这样做的人 :) 干杯!以上是关于如何在首次加载应用程序时隐藏主弹出视图?的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell 上的圆形 UIImageView 在首次加载时不起作用
UISplitViewController:如何强制在应用启动时显示主弹出框? (肖像)