我正在尝试在我的应用程序中完全不选择选项卡。首先,第一个选项卡是选中的,但我想取消选择它,这样根本不会选择任何选项卡。
不要问我为什么,这只是客户想要的方式!哈哈
谢谢你的帮忙!
附言:我已经试过了:
// rootController = UITabBarController
rootController.tabBar.selectedItem = 0;
rootController.tabBar.selectedItem = nil;
[rootController setSelectedIndex:[rootController.items objectAtIndex:0]];
[rootController setSelectedIndex:nil];
[rootController setSelectedIndex:0];
// That one works : (but I can't select 0 or -1 for instance)
[rootController setSelectedIndex:2];有什么想法吗?再次感谢!
发布于 2010-06-22 00:35:11
如果您使用的是没有UITabBarController实例的UITabBar实例,则可以取消选择所有选项卡栏项目。
在这种情况下,下面的代码可以很好地工作。
[tabBar setSelectedItem:nil];如果UITabBar是UITabBarController的一部分,那么应用程序将崩溃,并出现异常:
‘不允许直接修改选项卡栏控制器管理的选项卡栏。’
换句话说,如果你想让它工作,你需要在没有控制器的情况下手动管理tabbar的例程。
发布于 2011-05-20 22:15:53
我刚遇到这个问题,其实很简单:
tabBarController.selectedViewController = viewController;这有点类似于HG的答案,但没有必要将选定的视图控制器设置为nil。
发布于 2011-04-18 19:11:01
我最终使用以下代码做到了这一点:
DefaultView *defaultView = [[DefaultView alloc]initWithNibName:@"DefaultView" bundle:[NSBundle mainBundle]];
[self.tabBarController setSelectedViewController:nil];
[self.tabBarController setSelectedViewController:defaultView];请注意,只执行[self.tabBarController setSelectedViewController:nil];不会有任何效果。你必须用指定一个视图控制器。该视图控制器将在未选择tabBar图标的情况下显示。选择其他TabBar选项后,defaultView将消失,并加载所需的视图。
https://stackoverflow.com/questions/2914531
复制相似问题