Ios 如何通过在swift中添加视图来重叠导航栏?
我想通过向视图控制器添加新视图来创建自定义侧栏,侧栏将以黄色背景显示。我希望侧栏也与视图控制器中的导航栏/项目(绿色背景色)重叠。但是导航栏/项目似乎不能与我的侧栏视图重叠,它似乎只与主视图重叠 我试图在stackoverflow中找到答案,我找到了这个,但答案在Objective-C上,我无法阅读Objective-C:( 如何重叠导航栏/项目?这是我的视图控制器的屏幕截图 我像这样嵌入导航控制器Ios 如何通过在swift中添加视图来重叠导航栏?,ios,swift,navigationbar,Ios,Swift,Navigationbar,我想通过向视图控制器添加新视图来创建自定义侧栏,侧栏将以黄色背景显示。我希望侧栏也与视图控制器中的导航栏/项目(绿色背景色)重叠。但是导航栏/项目似乎不能与我的侧栏视图重叠,它似乎只与主视图重叠 我试图在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)
}
}