gpt4 book ai didi

ios - UIPopoverController 应防止通过状态栏滚动

转载 作者:行者123 更新时间:2023-11-29 03:33:39 26 4
gpt4 key购买 nike

我发现在呈现 UIPopoverController 时,并非呈现 View 中的所有控件都被禁用。具体来说,导航栏按钮(例如“后退”)仍然可选。我认为这是一个缺陷 - 它允许弹出窗口保留在屏幕上,而 View 堆栈在其后面弹出。

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

但这不会禁用状态栏,状态栏通常设置为将 View 内容滚动到顶部。

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

有人能解释一下这种行为吗?这是一个功能还是一个错误?有什么解决方法吗?

最佳答案

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

在显示 UIPopoverController 之前,将 UIScrollView 的属性 scrollsToTop 设置为 NO。这样,当用户点击状态栏时,您的 ScrollView 将不会滚动。

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

这是 UIScrollView documentation :

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.

希望这对您有所帮助!

关于ios - UIPopoverController 应防止通过状态栏滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19460297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com