Estou em uma view da app (UIViewController), que pode ser uma view dentro de outra view.. ou seja, estou na pilha de UIViewController do app, e preciso voltar para a tela inicial a partir dessa view. Além disso ainda preciso alterar a root view:
Exemplo:
1 - App entra na tela do perfil do usuário
2 - Do perfil, vou para a tela de configurações
3 - Nessa tela, tenho uma opção de sair/logout
4 - Então preciso que meu root view, que antes era o perfil seja a tela de login. E preciso ir diretamente para essa tela, e o ciclo de iteração entre telas reinicie.
NSArray* ctrls = [self.navigationController viewControllers];
for(UIViewController *temp in ctrls){
[temp removeFromParentViewController];
}
UIViewController *login = [[LoginViewController alloc] init];
[[[UIApplication sharedApplication] keyWindow].rootViewController dismissViewControllerAnimated:YES completion:nil];
[[UIApplication sharedApplication] keyWindow].rootViewController = login;
[self.navigationController popToRootViewControllerAnimated:YES];