如何重置根视图控制器

Dan*_*son 4 ios swift

是否可以重置根视图控制器?重置是指将其重置为初始状态,因此viewDidLoad将再次调用它。我使用的是a UITabBarController,当我注销时,希望卸载以前加载的所有选项卡。

Rah*_*mar 6

您可以通过在注销操作时将TabBarController的实例设置为rootViewController实现

斯威夫特3:

let storyBoard = UIStoryboard(name: "Main", bundle: nil)
let tabBarController = storyBoard.instantiateViewController(withIdentifier: "TabBarController") as! UITabBarController
UIApplication.shared.keyWindow?.rootViewController = tabBarController
UIApplication.shared.keyWindow?.makeKeyAndVisible()
Run Code Online (Sandbox Code Playgroud)

目标C:

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UITabBarController *tabBarController = [storyBoard instantiateViewControllerWithIdentifier:@"TabBarController"];
[[[UIApplication sharedApplication] keyWindow] setRootViewController:tabBarController];
[[[UIApplication sharedApplication] keyWindow] makeKeyAndVisible];
Run Code Online (Sandbox Code Playgroud)