Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何通过在swift中添加视图来重叠导航栏?_Ios_Swift_Navigationbar - Fatal编程技术网

Ios 如何通过在swift中添加视图来重叠导航栏?

Ios 如何通过在swift中添加视图来重叠导航栏?,ios,swift,navigationbar,Ios,Swift,Navigationbar,我想通过向视图控制器添加新视图来创建自定义侧栏,侧栏将以黄色背景显示。我希望侧栏也与视图控制器中的导航栏/项目(绿色背景色)重叠。但是导航栏/项目似乎不能与我的侧栏视图重叠,它似乎只与主视图重叠 我试图在stackoverflow中找到答案,我找到了这个,但答案在Objective-C上,我无法阅读Objective-C:( 如何重叠导航栏/项目?这是我的视图控制器的屏幕截图 我像这样嵌入导航控制器 有很多滑盖或抽屉式容器的实现 您需要做的是将导航控制器包含在另一个视图控制器中 堆栈将如下所示

我想通过向视图控制器添加新视图来创建自定义侧栏,侧栏将以黄色背景显示。我希望侧栏也与视图控制器中的导航栏/项目(绿色背景色)重叠。但是导航栏/项目似乎不能与我的侧栏视图重叠,它似乎只与主视图重叠

我试图在stackoverflow中找到答案,我找到了这个,但答案在Objective-C上,我无法阅读Objective-C:(

如何重叠导航栏/项目?这是我的视图控制器的屏幕截图

我像这样嵌入导航控制器

有很多滑盖或抽屉式容器的实现

您需要做的是将导航控制器包含在另一个视图控制器中

堆栈将如下所示

  • 主视图控制器
    • 导航控制器
      • 根视图控制器
    • 菜单
请看这里的这个:


您可以通过更改您的
UIViewController
层次结构来完成此操作。为此,您需要三个视图控制器。第一个视图控制器将包含所有内容,我们称之为
MasterViewController
;第二个主要内容是导航栏;第三个抽屉

MasterViewController
中实例化子视图控制器,并将它们添加到
viewDidLoad()
中的视图控制器层次结构中


现在您有了
navigationController.view
,您可以在
view

thks中的任何位置放置或设置动画作为您的答案,但是如何在另一个视图控制器中包含导航控制器?您的意思是在视图控制器中嵌入导航控制器吗?对不起,我是iOS开发的初学者,通常是通过storyboard您使用“嵌入Segue”或者你可以通过编程方式创建它。它就像一个主-细节视图,除了主视图是菜单,细节是导航控制器。如果这不是为了某种任务或其他,你最好使用前面提到的可可豆荚,因为这不是一件小事,而且可能在经过良好测试的库中更可靠哦,好的,我同意新的是有一个叫做MMDrawerController的吊舱来制作这样的侧栏。非常感谢你提供的信息是的,几年前我成功地使用了它。这是一个快速的版本。非常感谢你提供了非常有用的信息,但老实说,我是一个初学者,如果我看不到故事板:(。你有这个简单的示例项目吗?很抱歉这么说。谢谢
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)
    }
}