ios - UIScrollView + LargeTitle (iOS 11) - 滚动到顶部并显示大标题
问题描述
我使用以下代码滚动到 UICollectionView 的顶部:
scrollView.scrollRectToVisible(CGRect(origin: .zero, size: CGSize(width: 1, height: 1)), animated: true)
UINavigationBar
但是,在 iOS 11 和 12 上,scrollView 仅滚动到顶部,而不会显示(when prefersLargeTitle
has been set to true
)的大标题。
我想要达到的结果:
解决方案
它按设计工作,您正在滚动到 position y = 0
,将您指定controller
为UIScrollView
委托并打印出滚动偏移量:
override func scrollViewDidScroll(_ scrollView: UIScrollView) {
print(scrollView.contentOffset)
}
您将看到何时显示大标题并且您移动滚动视图 a 但是它会跳回大标题它不会打印(0.0, 0.0)
但是(0.0, -64.0)
或(0.0, -116.0)
- 这是相同的值scrollView.adjustedContentInset
,所以如果您想向上滚动并显示大标题,您应该做:
scrollView.scrollRectToVisible(CGRect(x: 0, y: -64, width: 1, height: 1), animated: true)
推荐阅读
- r - 在 R 中设置边距
- csv - Google Drive API v3 - 在工作表中导入 CSV - 是否可以禁用智能转换?
- reactjs - 有没有办法改变 reactjs 中状态变量的值,即使在页面刷新后它仍然保持变化
- vagrant - PC重新启动后,流浪机器无法启动。它显示端口冲突
- spring - Spring Boot 在 BasicAuthenticationFilter 上抛出 NumberFormatException
- vb.net - 更新 datagridview visualbasic 2010 中的项目
- spring-cloud - @RefreshScope 和 /refresh 不适用于多个实例
- html - CSS - 如何在输入文本旁边制作按钮?
- javascript - 角度服务(如 ChangeDetectorRef)如何获取使用它的组件 ref?
- sql - 从复杂的 SQL 表中获取数据