隐藏ios 8侧边栏swift?

时间:2014-11-26 07:35:15

标签: swift sidebar

我目前正在为我的应用程序导航侧栏使用惊人的开源库https://github.com/evnaz/ENSwiftSideMenu。但是,我为项目创建了一个登录页面,但无法找到隐藏登录页面边栏的方法,有人可以帮助我吗?

我的视图控制器(如果登录未登录,将指导用户登录页面)

 import UIKit

class ViewController: UIViewController {


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    var currentUser = PFUser.currentUser()
    if currentUser != nil {
        NSLog("CurrentUser:", currentUser.username)
        // Do stuff with the user
    } else {
        // Show the signup or login screen
        self.performSegueWithIdentifier("showLogin", sender: self)
    }

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

@IBAction func logout(sender: AnyObject) {
    PFUser.logOut()
    self.performSegueWithIdentifier("showLogin", sender: self)

}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if (segue.identifier == "showLogin") {
        // pass data to next view
        segue.destinationViewController.sideMenuController()?.sideMenu?.hideSideMenu()
        //sideMenuController()?.sideMenu?.hideSideMenu()
    }
}

}

我的登录页面:

import UIKit

class LoginViewController: UIViewController {
@IBOutlet weak var usernameField: UITextField!
@IBOutlet weak var passwordField: UITextField!
@IBAction func loginButton(sender: AnyObject) {
    var username = String (self.usernameField.text .stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet()))
    var password = String (self.passwordField.text .stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet()))

    if username.isEmpty || password.isEmpty{
        let alert = UIAlertView()
        alert.title = "Oops"
        alert.message = "Please make sure you enter all the field"
        alert.addButtonWithTitle("Okay")
        alert.show()

    }
    else {
        PFUser.logInWithUsernameInBackground(username, password:password) {
            (user: PFUser!, error: NSError!) -> Void in
            if user != nil {
                // Do stuff after successful login.
                self.navigationController?.popToRootViewControllerAnimated(true)
            } else {
                // The login failed. Check error to see why.
                let alert = UIAlertView()
                alert.title = "Oops"
                alert.message = error.userInfo!["error"] as NSString
                alert.addButtonWithTitle("Okay")
                alert.show()
            }
        }
    }

}

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationItem.hidesBackButton = true
    //self.sideMenuController()?.sideMenu?.hideSideMenu()

    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

1 个答案:

答案 0 :(得分:0)

您需要在视图控制器中调用hideSideMenuView()函数。它是视图控制器的扩展公共功能。还有showSideMenuView()和toggleSideMenuView()函数。