【发布时间】:2018-05-18 20:43:40
【问题描述】:
我正在尝试在我的新应用程序上实现 iOS 11 原生大型导航栏标题。通过在 viewDidLoad() 中调用以下函数:
navigationController?.navigationBar.prefersLargeTitles = truenavigationController?.navigationItem.largeTitleDisplayMode = .always
但是,当我开始向上滚动时(主视图内的唯一视图是滚动视图),滚动使大标题消失的速度比用手指实际滚动的速度更快。 (也就是说,如果我在屏幕上移动 2 厘米,滚动视图实际上会滚动超过 2 厘米,直到大标题缩小到“通常”大小。)
下面是我的应用正在滚动的 gif。我实际上很少移动,它会自动向上滚动那么多。这与 Apple 制造的应用程序(例如应用商店,显示在我的应用下方)不同。
有没有人有办法解决这种异常行为?
编辑:
根据请求,我正在添加当前的视图层次结构。我的代码没有什么特别之处,我只是为prefersLargeTitles 设置了标题和标志。
【问题讨论】:
-
我在模拟器上试过了。该行为比您自己的示例慢。 App Store 的 scrollView 动画也是如此。如果我滚动到顶部直到看不到大标题的一半,它会自动滚动到最高点。这不是您期望看到的行为吗?
-
@DorukhanArslan,当手指还在屏幕上时,App Store 的 scrollView,你可以在任何时候停下来,直到你松开。但在我的应用程序中,即使我的手指在屏幕上,它也会自动滚动到顶部。
-
@DorukhanArslan 为了提供更多信息,向下滚动内容(即向上移动手指)会导致标题的突然、快速更改,而向上滚动内容(即向下移动手指)的行为符合预期。
-
@DorukhanArslan 我添加了视图层次结构!
标签: ios swift uinavigationbar ios11 large-title