我已经将UINavigationController子类化并添加了一个自定义视图(黑条)。作为副作用,我必须在viewDidLayoutSubviews()
中调整viewController视图的框架,以便我的自定义视图不会覆盖它。当我将某些东西推到导航堆栈上时会出现问题,如下图所示。
您可以找到我的UINavigationController子类here
的代码的ViewController:
override func viewDidLayoutSubviews() {
log.debug("\(self) \n \(self.view.frame)")
if let nav = self.navigationController as? TabbedNavigationController {
let height = nav.view.frame.size.height - nav.navigationViewHeight
self.view.frame = CGRect(x: 0, y: nav.navigationViewHeight , width: self.view.frame.size.width, height: height)
}
}