How to use SlideNavigationController in Swift?

时间:2015-06-26 09:39:20

标签: ios swift uinavigationcontroller

I need use SlideNavigationController in my app project, but I can't show the menu in my NavigationController Bar.

SlideNavigationController was downloaded from: https://github.com/aryaxt/iOS-Slide-Menu

Here's my code in AppDelegate.swift:

var leftMenu = LeftMenuViewController()
var rightMenu = RightMenuViewController()

SlideNavigationController.sharedInstance().leftMenu = leftMenu
SlideNavigationController.sharedInstance().rightMenu = rightMenu
SlideNavigationController.sharedInstance().menuRevealAnimationDuration = 0.18

var leftButton =  UIButton(frame: CGRectMake(50, 50, 30, 30))
leftButton.setImage(UIImage(named: "gear.png"), forState: UIControlState.Normal)
leftButton.addTarget(SlideNavigationController.sharedInstance(), action: "toggleLeftMenu", forControlEvents: UIControlEvents.TouchUpInside)
var leftBarButtonItem = UIBarButtonItem(customView: leftButton)

SlideNavigationController.sharedInstance().leftBarButtonItem = leftBarButtonItem
SlideNavigationController.sharedInstance().title = "123234"

let screenBounds:CGRect = UIScreen.mainScreen().bounds

self.window = UIWindow(frame: screenBounds);
var nav = SlideNavigationController.sharedInstance()

self.window?.rootViewController = nav;
self.window?.makeKeyAndVisible();

Can anyone tell me how to configure this properly?

2 个答案:

答案 0 :(得分:0)

事实证明我必须像这样使用它:

var root = SlideNavigationController(rootViewController: ViewController())
var leftMenu = LeftMenuViewController()
SlideNavigationController.sharedInstance().leftMenu = leftMenu
self.window?.rootViewController = root

这很简单,滑动按钮只显示在正确的位置(导航栏内)。

答案 1 :(得分:0)

查看故事板的截图 enter image description here

        let storyboard = UIStoryboard(name: "InnerMain", bundle: nil)
    let controller = storyboard.instantiateViewControllerWithIdentifier("announcementsView") as! AnnouncementsViewController

    let root = SlideNavigationController(rootViewController: controller)

    let leftButton : UIBarButtonItem = UIBarButtonItem(title: "\u{f0c9}", style: UIBarButtonItemStyle.Plain, target: self, action: "slideMenu")

    leftButton.setTitleTextAttributes([
        NSFontAttributeName : UIFont(name: "FontAwesome", size: 22)!,
        NSForegroundColorAttributeName : UIColor.whiteColor()],
        forState: UIControlState.Normal)

    SlideNavigationController.sharedInstance().menuRevealAnimationDuration = 0.18
    SlideNavigationController.sharedInstance().leftBarButtonItem = leftButton

    let leftSideMenu = storyboard.instantiateViewControllerWithIdentifier("slideMenuView") as! SlideMenuViewController

    SlideNavigationController.sharedInstance().leftMenu = leftSideMenu
    self.window?.rootViewController = root