2014-11-26 5 views
0

im в настоящее время использует удивительную библиотеку с открытым исходным кодом https://github.com/evnaz/ENSwiftSideMenu для моей навигационной панели навигации приложения. Тем не менее, я создал страницу входа для проекта, но не смог найти способ скрыть боковую панель на моей странице входа, может ли кто-нибудь мне помочь?Скрыть ios 8 sidebar swift?

мой контроллер представления (где будет направлять пользователя на страницу входа в систему, если Логин не логин)

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. 
} 
+0

Возможно, существует метод расширения, который вы можете назвать? toggleSideMenuView() его объявлено здесь https://github.com/evnaz/ENwiftSideMenu/blob/master/Library/ENSideMenu.swift – Konrad77

+0

ли я оставить метод на моем контроллере входа? – user3818938

+0

Я не знаю, как выглядит ваш код, поэтому его очень сложно сказать. – Konrad77

ответ

0

Вам нужно позвонить hideSideMenuView() в вашем контроллере просмотра. Это публичная функция расширения контроллера. Также существуют функции showSideMenuView() и toggleSideMenuView().

Смежные вопросы