在我的应用程序中,我有一个登录屏幕,我在启动时以模态方式呈现。成功登录后,用户被重定向到具有五个 UINavigationController(用于选项卡)的 UITabBarController。
在一个选项卡上,我有一个“注销”按钮,以便用户被重定向回登录屏幕。那工作正常。
但我想要做的是每次用户登录时加载 UITabBarController。这意味着,UITabBarController 不应该被重用。目前,选项卡中的内容(我从 Web 加载数据)保持不变,即使在完成新登录时也是如此。
我如何使用它的 UINavigationcontrollers 释放/pop/nil UITabBarController?
到目前为止我已经尝试过:
这就是当他按下“注销”按钮时我将用户推回到登录屏幕的地方:
[self.navigationController presentModalViewController:navigContrLogin animated:YES];
[[self navigationController] popToRootViewControllerAnimated:YES]; --> NOT WORKING
[self.navigationController popViewControllerAnimated:NO]; --> NOT WORKING
[self.tabBarController release]; ---> NOT WORKING
有人可以帮我吗?
编辑:这就是我添加 UITabBarController 的方式。当用户单击登录按钮时,我会这样做:
[self.navigationController dismissModalViewControllerAnimated:NO];
[self.navigationController setNavigationBarHidden:YES];
[self.navigationController pushViewController:tabBarController animated:NO];
[self.navigationController removeFromParentViewController];
EDIT2:我解决了。我正在做的是当用户单击注销按钮时,我从应用程序委托调用导航控制器并使用它来推送登录视图控制器。
MyAppDelegate *del = (MyAppDelegate*)[UIApplication sharedApplication].delegate;
[del.navControllerLogin pushViewController:loginController animated:YES];