触摸导航栏时关闭 PopOver 屏幕
Posted
技术标签:
【中文标题】触摸导航栏时关闭 PopOver 屏幕【英文标题】:Dismiss UIPopOverScreen when touching NavigationBar 【发布时间】:2011-10-14 21:54:39 【问题描述】:我有这个 UIPopOverScreen,当我按下 NavigationBar 按钮时会显示。 每当我触摸弹出屏幕之外的任何东西时,我都想解决这个问题。 它部分有效,但在触摸调用弹出屏幕的 VC 中内置的导航栏时它不会关闭。
我尝试了几种方法让它消失,但它还没有奏效。 我设置时获得的最佳结果:
self.popOverController.passthroughViews = nil;
它按我的意愿工作,但只需设置此选项,您必须按两次导航栏才能使其再次响应。
我很想听听您对清洁解决方案的看法。
【问题讨论】:
奇怪。我遇到了同样的问题,并且在呈现弹出框后立即将 passthroughViews 设置为 nil 对我来说非常有效。我没有看到您提到的两次触摸导航栏的行为。也许你的代码中的其他东西导致了这种行为 【参考方案1】:添加一个 UITapGestureRecognizer 来对导航栏上的点击做出反应怎么样?保存对活动 Popover 的引用,并在导航栏收到点击时调用方法将其关闭。
【讨论】:
这正是我所寻求的。感谢您提醒我这一点!以上是关于触摸导航栏时关闭 PopOver 屏幕的主要内容,如果未能解决你的问题,请参考以下文章
在 UINavigationController 中隐藏导航栏时不向后滑动