ENSideSwiftMenu:如何为所有视图控制器使用相同的导航栏

时间:2014-11-02 12:10:23

标签: ios xcode uinavigationcontroller uinavigationbar uibarbuttonitem

我正在使用Evgeny Nazarov's Swift Side Menu作为我的iOS应用,并想知道是否有人使用过相同的库,并且能够为菜单中调用的每个View Controller使用相同的导航栏。

我添加BarButtonItem切换我Root View Controller上的滑动菜单。我的问题是只有我的Root View Controller显示此切换按钮。但是,如果点击滑动菜单上的选项,我希望每个Navigation Bar上的Toggle按钮都有相同的View Controller

有没有人有过这方面的经验?谢谢!

更新1

当我将NavigationBarBarButtonItem添加到不是ViewControllers的其他RootViewController时会发生这种情况。新导航栏最终位于导航控制器的现有导航栏下。

当我选择菜单上的第二项时,左边的屏幕是Root View Controller,右边的屏幕是View Controller

更新2:已解决

override func viewDidLoad() {
    super.viewDidLoad()

    let menuItem = UIBarButtonItem(image: UIImage(named: "icon_menu"), style: .Plain, target: self, action: "menuBarButtonItemClicked")
    menuItem.tintColor = UIColor.whiteColor()
    self.navigationItem.leftBarButtonItem = menuItem
}

func menuBarButtonItemClicked() {
    toggleSideMenuView()
}

enter image description here

2 个答案:

答案 0 :(得分:0)

您需要在每个视图控制器的导航栏上放置一个UIBarButtonItem,而不是在根视图控制器中。

答案 1 :(得分:0)

我也为我的应用程序使用了相同的设计,我这样解决了: 查看每个部分“显示属性检查器 - > 顶部栏”语音“半透明导航栏”,然后拖动“导航项“然后在您想要的位置”栏按钮项“。当然,每个按钮都应该有ViewController的代码或引用。 如果你已经解决了,请告诉我。