首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态更改TabBar时管理TabBar操作

动态更改TabBar时管理TabBar操作
EN

Stack Overflow用户
提问于 2011-02-04 00:11:09
回答 1查看 1.6K关注 0票数 1

我想知道如何管理选项卡,因为它们是动态变化的。

例如。在我的主屏幕上,我有4个选项卡。当我单击第二个选项卡时。我现在有5个不同的标签。我知道如何动态添加它们,但我在管理当它们被点击时会发生什么时遇到了麻烦。

例如,Home screen是我的第一个选项卡。

代码语言:javascript
复制
if (viewController == [self.tabBarController.viewControllers objectAtIndex:0]){

这将处理我对第一个选项卡的操作,但当我在单击第二个选项卡时更改选项卡时,我不希望我的第一个选项卡成为第一组选项卡中的第一个主页。有没有办法通过身份而不是索引号来管理标签栏点击?另一个例子是我的注销函数是第一组中的tab栏4和第二组中的tab 5。我不希望第二组中的第4个选项卡注销,目前它确实会导致它读取索引。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-04 01:38:21

迈克,在我看来,你对UITabBar的要求太高了。无论如何,我遇到过你这样的情况,一个客户想要一个动态标签栏。在这种情况下,委派是你最好的朋友。

UITabBarDelegate:

代码语言:javascript
复制
– tabBar:willBeginCustomizingItems:
– tabBar:didBeginCustomizingItems:
– tabBar:willEndCustomizingItems:changed:
– tabBar:didEndCustomizingItems:changed:
– tabBar:didSelectItem:  required method

UITabBarControllerDelgate

代码语言:javascript
复制
Managing Tab Bar Selections
– tabBarController:shouldSelectViewController:
– tabBarController:didSelectViewController:
Managing Tab Bar Customizations
– tabBarController:willBeginCustomizingViewControllers:
– tabBarController:willEndCustomizingViewControllers:changed:
– tabBarController:didEndCustomizingViewControllers:changed:

这将允许您管理在选项卡栏上出现某些内容时要执行的操作。

此外,您还可以通过更改视图控制器上的选项卡栏项目来实际更改选项卡栏上的图标,而无需将其移除

代码语言:javascript
复制
UIViewController * controller =     [myTabBarController.tabBar.items objectAtIndex:kObjectIndex];

UIImage *someImage = [UIImage imageNamed:@"some_icon_on.png"];

UITabBarItem *someTabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString (@"SomeTabBarTitle",@"") image:someImage tag:kObjectIndex];


controller.tabBarItem = someTabBarItem;

我希望这对你有帮助。祝你好运!

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

https://stackoverflow.com/questions/4888564

复制
相关文章

相似问题

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