使用prefersLargeTitles
并添加UITableView
时,我遇到滚动问题。
如果我在导航控制器中设置prefersLargeTitles
并且其根目录是UITableViewController
一切都很好,滚动导航大标题的方式与我们在系统应用中看到的方式相同 (在iOS 11 +中)。
但是,如果我使用UIViewController
并在其中添加UITableView
,则滚动似乎采取不同的行动。导航栏比我实际滚动更快/更快。只要我滚动到一个只触发它的位置,它就会隐藏/显示大标题,所以我最终会有完全不同的感觉。
答案 0 :(得分:12)
原来布局导致了这个问题。
如果UITableView
使用将顶部对齐:安全区域约束(除了底部,前导和尾随Safe Area
),则会出现此问题并且没有延伸到酒吧。
但是,如果我使用扩展布局,请将顶部对齐到superview
,我仍然可以使用UITableView
并获得大标题及其导航栏的正确行为。
edgesForExtendedLayout = .top
extendedLayoutIncludesOpaqueBars = true
或者使用导航栏isTranslucent = true
也可以扩展它。