这是一个很常见的问题,但是在尝试了很多解决问题之后,我最终决定将它发布在 StackOverFlow.com 上
我有一个基于标签栏的应用程序。标签栏在 AppDelegate.m 中加载如下:
self.tabBarController.viewControllers = @[viewController1, viewController2 , viewController3 , viewController4 , viewController5];
我的第 5 个选项卡有一个注销按钮。当用户单击注销时,我想清除/重置整个应用程序并转到登录页面,这是一个 modalviewcontroller。
我在注销时尝试了以下操作:
NSMutableArray * vcs = [NSMutableArray
arrayWithArray:[self.tabBarController viewControllers]];
[vcs removeAllObjects ];//ObjectAtIndex:4];
[self.tabBarController setViewControllers:vcs];
这会从标签栏中删除所有视图。但是当我再次登录时,什么都没有显示。我想显示我的主屏幕,即默认选择的选项卡项目 1。
我已经读过再次手动调用 didFinishLaunchingWithOptions 不是一个好习惯。
有没有办法可以重置所有标签栏并重新初始化它们?
这将帮助我解决与这种情况相关的另一个问题。当用户注销并再次登录,并且视图控制器没有被清除时,登录后再次显示注销页面。而不是主视图控制器。
请帮忙。
提前致谢。