在容器视图上添加带有初始视图控制器的导航控制器时,我的顶部和底部都有空白空间,大约是容器视图的1/20。如果在容器视图中添加ViewController而不是导航控制器,那么我没问题。
我将导航控制器添加到容器中的代码是:
let storyBoard = UIStoryboard(name: "MyAccount", bundle: nil)
let viewContorller = storyBoard.instantiateViewController(withIdentifier: "ViewControllerIdentifier")
viewContorller.view.layer.borderColor = UIColor.yellow.cgColor
viewContorller.view.layer.borderWidth = 8
let navController = UINavigationController(rootViewController: viewContorller)
self.addSubViewController(container: viewControllersContainerRight, viewController: navController)
和addSubViewController函数是
func addSubViewController(container: UIView? = nil, viewController: UIViewController?) {
if let viewController = viewController {
// call before adding child view controller's view as subview
addChildViewController(viewController)
viewController.view.frame = (container ?? view).bounds
(container ?? view).addSubview(viewController.view)
// call before adding child view controller's view as subview
viewController.didMove(toParentViewController: self)
}
}
在图像中,红色矩形显示导航控制器的框架。 黄色视图控制器的框架 view Controller有一个导航栏。 红色矩形以外的所有内容都是初始的-父视图控制器。 初始的父视图控制器具有自己的导航栏