0

我发现在呈现 UIPopoverController 时,并非呈现视图中的所有控件都被禁用。具体来说,导航栏按钮(例如“返回”)保持可选状态。在我看来,这是一个缺陷——它允许弹出框保留在屏幕上,而视图堆栈则弹出在它后面。

哦,好吧,至少这可以self.aboutPopoverController.passthroughViews = nil在演示后立即使用纠正。

除了这不会禁用状态栏,它通常设置为将视图的内容滚动到顶部。

最终结果是能够呈现一个弹出框,然后(在后台)滚动视图,以便弹出框上的小箭头/选项卡不再与原始触摸点对齐。

任何人都可以阐明这种行为吗?它是一个功能还是一个错误?任何解决方法?

4

1 回答 1

1

一个简单的解决方法可能如下:

就在您显示您的UIPopoverController集合UIScrollView的属性scrollsToTop之前NO。这样,当用户点击状态栏时,您的 scrollView 将不会滚动。

完成弹出框后,您可以重新启用 scrollsToTop 功能。

这是UIScrollView 文档

scrollsToTop
A Boolean value that controls whether the scroll-to-top gesture is enabled.

@property(nonatomic) BOOL scrollsToTop

Discussion
The scroll-to-top gesture is a tap on the status bar. When a user makes this gesture, 
the system asks the scroll view closest to the status bar to scroll to the top. 
If that scroll view has scrollsToTop set to NO, its delegate returns NO from
scrollViewShouldScrollToTop:, or the content is already at the top, nothing happens.

希望这可以帮助!

于 2013-10-18T23:29:37.627 回答