The problem is that my View, containing a UIView and a UITableView within a ScrollView, gets hidden under the UINavigationBar
self.edgesForExtendedLayout = UIRectEdge.init(rawValue: 0)
Set it to []. That is the same as none.
SWIFT 5 solution
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.edgesForExtendedLayout = []
}
I don't know how but I just add following code in my viewDidLoad() self.navigationController?.navigationBar.isTranslucent = false And it solves my problem.