J'ai configuré une uiviewontroller comme RootViewController dans Appdelegate, cependant, lorsqu'un utilisateur se connecte ou la saute, je présente une uitabbarcontroller sur le dessus.
Je dois renvoyer le logincontroller et définir l'uitabcontroller en tant que racineviewController à la place après les journaux d'utilisateur. P>
Comment puis-je continuer à réorganiser cela? p>
AppDelegate () P> >
self.present(MainTabBarController(), animated: true, completion: nil)
3 Réponses :
Vous n'avez pas besoin de présenter l'UITABBARVIEWCONTROLLER, puis de rejeter le loginViewController, il vous suffit de réinitialiser l'UITABBarViewController en tant que racineViewController pour votre application après la connexion ou à l'écran comme suit:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
// Override point for customization after application launch.
let yourTabBar = UIStoryboard(name: "YOUR_STORYBOARD_NAME", bundle: nil).instantiateViewController(withIdentifier: "YOUR_UITABBARCONTROLLER_ID")
self.window!.rootViewController = yourTabBar
self.window!.makeKeyAndVisible()
return true
}
Il est trop facile de maintenir la condition pour l'utilisateur connecté ou non, puis en fonction de cet état. Vous pouvez naviguer à votre vue.
Vous pouvez essayer de cette façon: p>
1.in Appdelegate code> Vous pouvez ces méthodes. P> @IBAction func btnLogOutClicked(_ sender: UIButton) {
// Your API call or other code
// If all things goes well, then logout and go to login view
UserDefaults.standard.set(false, forKey: "IS_LOGIN")
AppDelegate.sharedInstance().goToLoginView()
}
Le contrôleur d'affichage d'une fois de connexion est l'une des questions les plus couramment posées. S'il vous plaît rechercher d'abord.
Aussi: "Je dois renvoyer le logincontroller et définir l'uitabcontroller en tant que rootviewController après des journaux d'utilisateur." Non, tu ne le fais pas. Il n'y a absolument rien de mal à présenter le contrôleur de barre d'onglets sur le contrôleur de la vue de connexion la première fois et ne reviendra jamais. Mais sur Lancement suivant i> de l'application, vous ne vous embêterez pas avec le contrôleur d'affichage de la connexion, car l'utilisateur est déjà connecté.