在使用prefersLargeTitles和添加UITableView时,我遇到了滚动问题。
如果我在导航控制器中设置了prefersLargeTitles,并且它的根是UITableViewController,那么一切都很好,滚动导航大标题就像我们在系统应用程序中看到的那样(在iOS 11+中)。
问题所在

但是,如果我使用一个UIViewController并在其中添加一个UITableView,滚动看起来就会有所不同。导航条的移动速度比我实际滚动的要快。每当我滚动到一个只会触发它的位置时,它就会隐藏/显示大标题,所以我以完全不同的感觉结束了。
发布于 2017-10-04 16:59:19
结果是布局导致了这个问题。
如果UITableView使用对齐顶部到:安全区域约束(除了底部,引导和尾随到Safe Area__),并且没有在栏下扩展,则会出现问题。
但是,如果我使用扩展布局,将顶部与superview对齐,我仍然可以使用UITableView并获得大标题及其导航栏的正确行为。
edgesForExtendedLayout = .top
extendedLayoutIncludesOpaqueBars = true或者使用导航栏的isTranslucent = true来扩展它。
https://stackoverflow.com/questions/46570313
复制相似问题