我想通过向视图控制器添加新视图来制作自定义侧栏,侧栏将处于黄色背景中。我希望我的侧栏也与视图控制器中的导航栏/项目(绿色背景颜色)重叠。但导航栏/项似乎不能与我的侧栏视图重叠,它似乎只与主视图重叠。
我试图在stackoverflow中找到答案,我找到了Overlap navigation bar on ios 6 with other view,但答案是在Objective-C上,我无法阅读Objective-C :(
如何重叠导航栏/项目?这是我的视图控制器的屏幕截图
答案 0 :(得分:1)
有很多滑动或抽屉容器的实现。
要在导航栏上方执行操作,包含导航控制器位于另一个视图控制器中。
堆栈看起来像这样。
在这里看到这个:
答案 1 :(得分:0)
您可以通过更改UIViewController
层次结构来执行此操作。为此,您需要三个视图控制器。首先将包含所有内容,我们称之为MasterViewController
;第二 - 你的主要内容与导航栏;和第三个抽屉。
在MasterViewController
实例化子视图控制器并将其添加到viewDidLoad()
中的视图控制器层次结构中。
final class MasterViewController: UIViewController {
override func viewDidLoad() {
let drawerViewController = DrawerViewController()
let mainViewController = MainContentViewController()
let navigationController = UINavigationController(rootViewController: mainViewController)
addChildViewController(drawerViewController)
addChildViewController(navigationController)
view.addSubview(navigationController.view)
view.addSubview(drawerViewController.view)
}
}
现在您可以在navigationController.view
内的任何位置放置view
{。}}。