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