I encountered a problem with the scrolling when using the prefersLargeTitles
and added UITableView
.
If I set the prefersLargeTitles
within a navigation controller and its root is a UITableViewController
everything is fine, scrolling of the navigation large title works the same way we can see in the system apps (in iOS 11+).
However, if I use a UIViewController
and add a UITableView
in it, scroll seems to act differently. Navigation bar is moving more/faster than I actually scroll. It just hides/shows the large title whenever I scroll into a position that just triggers it, so I end up with the totally different feeling.
Turns out that the layout is causing this problem.
The problem occurs if the UITableView
use Align top to: Safe Area constraint (besides the bottom, leading and trailing to Safe Area
) and is not extended under the bar.
However if I use the extended layout, align top to the superview
, I can still use the UITableView
and get the correct behaviour of the large title and its navigation bar.
edgesForExtendedLayout = .top
extendedLayoutIncludesOpaqueBars = true
Or use navigation bar's isTranslucent = true
which extends it too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With