2017-08-28 6 views
2

Ich habe eine app, in denen Benutzer anmelden können. Wenn der Benutzer die App startet und bereits in dann wird die rootViewController angemeldet ist auf meinen benutzerdefinierten UITabBarController aber, wenn der Benutzer nicht in den rootViewController angemeldet ist ist auf LoginVC (View Controller) eingestellt. Mein Problem ist, dass wenn der Benutzer abmeldet der LoginVC präsentiert werden sollte und die TabBar sollte deinitialisiert werden.deinit UITabBarController nach neuen Viewcontroller präsentiert

Ich habe versucht:

self.tabBarController?.dismiss(animated: true, completion: { 
    self.tabBarController?.present(LoginVC(), animated: true, completion: nil) 
}) 

Und solche Sachen ... Ich kann die LoginVC präsentieren, aber wenn ich self.tabBarController?.dismiss nennen die LoginVC wird anstelle des TabBarVC entlassen

Jede Hilfe wäre sehr geschätzt

Antwort

2

Es ist besser, nur die rootViewController auf die LoginVC zu setzen. Der Verweis auf die UITabBarController wird verloren gehen und es wird de-init.

Aufruf von dismiss auf einem VC wird diesen VC nicht verwerfen. Es entlässt die VC es präsentiert:

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621505-dismiss

abgewiesen View-Controller, die modal durch die View-Controller vorgestellt wurde.

+0

Gibt es eine Möglichkeit, diesen Übergang zu animieren? – Phyber

+2

https://stackoverflow.com/questions/7703806/rootviewcontroller-switch-transition-animation –

Verwandte Themen