当应用程序启动时,我已经在验证字段后将视图控制器(登录)重定向到标签栏控制器。问题是我必须放置注销按钮,当单击注销按钮时,它应该转到根视图控制器(登录页面)。我试图从标签栏控制器推送到根视图控制器,它被推动,但仍然面临少数标签栏问题,同时继续进行。我如何从标签栏项目弹出/推送到根视图控制器?从标签栏控制器注销到根视图控制器
回答
可能是你可以使用的UINavigationController的根视图控制器http://developer.apple.com/library/ios/#documentation/uikit/reference/UINavigationController_Class/Reference/Reference.html
大约有自定义后退按钮的一些例子。如果你想使用默认后退按钮,你可以重新命名为注销并对其进行操作。
只是一个想法。
我想你的AppDelegate.m中,你已经创建了一个导航控制器的LoginUIViewController作为RootViewController。
你可以解决这样的问题:
例如,你有一个FirstTabUIViewController在TabBarController,你想要去从FirstTabUIViewController回你LoginUIViewController(你RootViewController的)。
创建于FirstTabUIViewController.h您TabBarController参考,.M
@property(强,非原子)IBOutlet中的UITabBarController * tabBarController;
@synthesize tabBarController = _tabBarController;在.M
创建方法处理 “注销” 按钮点击
- (IBAction为)logoutBtnTapped:(的UIBarButtonItem *)发件人{
[self.tabBarController.navigationController popToRootViewControllerAnimated:YES];
}
那是!希望有所帮助:)
当您单击注销按钮时,您只需要将登录屏幕再次放置在appdelegate窗口中。
LoginViewController *loginVC = [[LoginViewController alloc]init];
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
[appDelegate.window setRootViewController:loginVC];// This will initiate the login screen again
这工作正常,我在同样的情况下,
ChooseStateViewController *loginVC = [[ChooseStateViewController alloc]initWithNibName:@"ChooseStateViewController" bundle:nil];
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:loginVC];
[nc.navigationBar setTintColor:[UIColor blackColor]];
AppDelegate *appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
[appDelegate.window setRootViewController:nc];
- 1. 从导航栏视图控制器导航到标签栏视图控制器
- 2. 故事板 - 视图控制器到标签栏控制器
- 3. 实例化视图控制器Swift 3标签栏控制器
- 4. 将视图控制器从根到视图控制器(SplitView)
- 5. iPhone:视图控制器的标签栏
- 6. 根据标签栏控制器调整视图控制器的大小
- 7. 标签栏控制器内的标签栏控制器
- 8. 如何从嵌入导航控制器的简单视图控制器调用标签栏视图控制器?
- 9. 使用视图控制器既作为模式视图控制器和作为标签栏视图控制器
- 10. 从标签栏控制器中完全删除所有视图控制器
- 11. 如何添加逻辑到标签栏控制器内的视图控制器
- 12. 标签栏和导航控制器不能再看到在视图控制器
- 13. 标签栏控制器如何从一个视图控制器切换到另一个视图控制器并保留标签栏?
- 14. 标签栏控制器
- 15. 多标签栏控制器?
- 16. 标签栏控制器
- 17. 如何将主视图控制器添加到不是标签栏项目之一的标签栏控制器?
- 18. 导航控制器到标签栏控制器
- 19. 从第四个视图控制器转到根视图控制器swift
- 20. 如何防止标签栏控制器中的视图控制器旋转?
- 21. 如何访问子视图控制器的标签栏控制器
- 22. 从标签栏控制器启动segue
- 23. 从标签栏控制器分支?
- 24. 结合标签,导航控制器和视图控制器
- 25. Segue公司到标签栏控制器
- 26. 从控制器到视图
- 27. 设置根视图控制器的模态视图控制器
- 28. 分割视图控制器必须是根视图控制器
- 29. xcode中标签栏控制器视图的第一个视图
- 30. 如何从超级视图中删除标签栏控制器?
检查此[链接](http://stackoverflow.com/questions/2716755/showing-login-view-controller-before-主标签栏控制器?rq = 1) 并添加didLogoutFinished:方法 – 2012-07-27 14:41:08
您是否找到答案 – 2015-05-12 18:12:20