The problem is that my View, containing a UIView
and a UITableView
within a ScrollView
, gets hidden under the UINavigationBar
if set translucent.
I have considered several threads like this, but they all suggest to set:
self.edgesForExtendedLayout = UIRectEdgeNone
In Swift 2, this code was:
self.edgesForExtendedLayout = .None
I have updated to Xcode 8.1 and Swift 3.0.1 today, but I can't find anything in the release notes about this matter.
The compiler tells me, that .None
got changed to .none
, but after edit, that .none
does not exist. Changing it to .top
did not had any effect.
The tableView is setup programatically and putting insets
does not help because I have a scrollView
with a UIView
on top of the UITableView
that is hidden under the UINavigationBar
.
What am I missing? Help is very appreciated.
Set it to []
. That is the same as none.
self.edgesForExtendedLayout = .init(rawValue: 0)
SWIFT 5 solution
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.edgesForExtendedLayout = []
}
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