Swift 未在导航栏上加载子uiviewcontroller
我正在制作一个侧菜单,并将其转移到导航栏上。但现在我似乎无法“加载”viewcontroller,所有单击事件都会转到它下面的页面 在我看来,点击事件被固定在导航栏的区域 但是视图控制器没有运行viewDidLoad,我知道这一点,因为菜单项不是在我做了这个更改后创建的 上一个菜单类似于在当前页面上滑动的视图控制器 这是我唯一修改/使用过的代码Swift 未在导航栏上加载子uiviewcontroller,swift,uiviewcontroller,uinavigationcontroller,uinavigationbar,Swift,Uiviewcontroller,Uinavigationcontroller,Uinavigationbar,我正在制作一个侧菜单,并将其转移到导航栏上。但现在我似乎无法“加载”viewcontroller,所有单击事件都会转到它下面的页面 在我看来,点击事件被固定在导航栏的区域 但是视图控制器没有运行viewDidLoad,我知道这一点,因为菜单项不是在我做了这个更改后创建的 上一个菜单类似于在当前页面上滑动的视图控制器 这是我唯一修改/使用过的代码 let navController = self.navigationController! let mainV = navController.nav
let navController = self.navigationController!
let mainV = navController.navigationBar
//let mainV = self.view --> OLD MENU CODE
mainV.addSubview(self.menuVC!.view)
//self.addChildViewController(self.menuVC!) --> OLD MENU CODE
navController.addChildViewController(self.menuVC!)
//navController.viewDidLoad()
//self.menuVC!.didMove(toParentViewController: navController)
//navController.isModalInPopover = true
//BaseViewController.menuVC?.didMove(toParentViewController: self)
self.menuVC!.view.layoutIfNeeded()
我确实留下了以前的工作代码,并尝试在注释中修复新代码
有什么想法吗?谢谢
--更新--
突然,似乎现在正在加载这些项目,所以我放弃了将视图和控制器添加到导航栏的想法。 相反,我决定创建一个模态视图
self.menuVC?.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext // allows transparency for the previous view
self.present(self.menuVC!, animated: false, completion: nil)
self.menuVC!.view.layoutIfNeeded()
我认为您对
addChildVC
的理解有误,还应该了解导航控制器及其实际用途。看看这里:由于某种原因,当我添加ChildView时,它又开始按预期工作了。即使我设置frame=UIScreen.main.bounds,它也不会覆盖当前的导航栏,你能帮忙吗?