首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在UITabBar中不选择选项卡

在UITabBar中不选择选项卡
EN

Stack Overflow用户
提问于 2010-05-26 23:45:17
回答 7查看 11.5K关注 0票数 6

我正在尝试在我的应用程序中完全不选择选项卡。首先,第一个选项卡是选中的,但我想取消选择它,这样根本不会选择任何选项卡。

不要问我为什么,这只是客户想要的方式!哈哈

谢谢你的帮忙!

附言:我已经试过了:

代码语言:javascript
运行
复制
// 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];

有什么想法吗?再次感谢!

EN

回答 7

Stack Overflow用户

发布于 2010-06-22 00:35:11

如果您使用的是没有UITabBarController实例的UITabBar实例,则可以取消选择所有选项卡栏项目。

在这种情况下,下面的代码可以很好地工作。

代码语言:javascript
运行
复制
[tabBar setSelectedItem:nil];

如果UITabBar是UITabBarController的一部分,那么应用程序将崩溃,并出现异常:

‘不允许直接修改选项卡栏控制器管理的选项卡栏。’

换句话说,如果你想让它工作,你需要在没有控制器的情况下手动管理tabbar的例程。

票数 7
EN

Stack Overflow用户

发布于 2011-05-20 22:15:53

我刚遇到这个问题,其实很简单:

代码语言:javascript
运行
复制
tabBarController.selectedViewController = viewController;

这有点类似于HG的答案,但没有必要将选定的视图控制器设置为nil。

票数 2
EN

Stack Overflow用户

发布于 2011-04-18 19:11:01

我最终使用以下代码做到了这一点:

代码语言:javascript
运行
复制
        DefaultView *defaultView = [[DefaultView alloc]initWithNibName:@"DefaultView" bundle:[NSBundle mainBundle]];
        [self.tabBarController setSelectedViewController:nil];
        [self.tabBarController setSelectedViewController:defaultView];

请注意,只执行[self.tabBarController setSelectedViewController:nil];不会有任何效果。你必须用指定一个视图控制器。该视图控制器将在未选择tabBar图标的情况下显示。选择其他TabBar选项后,defaultView将消失,并加载所需的视图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2914531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档