我目前正在将令人惊叹的开源库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.
}发布于 2014-12-20 19:02:10
您需要在视图控制器中调用hideSideMenuView()函数。它是视图控制器的扩展公共函数。还有showSideMenuView()和toggleSideMenuView()函数。
https://stackoverflow.com/questions/27143551
复制相似问题