如何为我的第 6 个标签栏项目设置徽章值?
Posted
技术标签:
【中文标题】如何为我的第 6 个标签栏项目设置徽章值?【英文标题】:How to set badge value for my 6th tab bar item? 【发布时间】:2012-09-12 10:42:16 【问题描述】:我想在我的第 6 个 tabbaritem 上设置徽章值??怎么做。 我可以使用 self.tabbaritem.badgevalue=@""
在第 4 个 tabbaritem 上设置徽章值但是使用相同的原理,我无法将徽章设置为我的第 6 个 tabbaritem。请帮帮我???
以下代码包含我的徽章值。
CustomBadge *customBadge1=[[CustomBadge alloc]init];
customBadge1 = [CustomBadge customBadgeWithString:[self getBadges]
withStringColor:[UIColor whiteColor] withInsetColor:[UIColor redColor] withBadgeFrame:YES withBadgeFrameColor:[UIColor whiteColor]
withScale:1.0 withShining:YES];
[customBadge1 setFrame:CGRectMake(self.view.frame.size.width/2-customBadge1.frame.size.width/4,20, customBadge1.frame.size.width, customBadge1.frame.size.height)];
[self.view addSubview:customBadge1];
【问题讨论】:
这是 iPhone 还是 iPad 应用程序 【参考方案1】:首先,标签栏中不应该有第 6 个标签,因为这违反了 Apple 设定的设计规则。
因为这会导致“更多”按钮显示为第 5 个按钮。单击此按钮将重定向到表格视图,该视图将显示您无法将徽章设置到的第 5 个和第 6 个选项卡视图。
【讨论】:
其实我对更多taabbartitem有我的看法。 添加到 TabBar 的更多按钮是 UITabBarController 的功能,而不是标签栏本身。 UITabBarController 有一个标签栏,并添加了更多行为,例如更多按钮、编辑以及您在大多数基于 Tab 的应用程序中看到的所有花哨的东西。【参考方案2】:有趣的问题——如果您的标签栏支持编辑,您可以在运行时重新排序标签,标签在前 4 个位置和“更多”控制器之间移动。 (第 5 位是为“更多...”保留的)。
只有前 4 个项目有一个实际的 UITabBarItem,这是徽章所在的位置。要支持将徽章与第 6 件事关联,您可以覆盖选项卡编辑功能,调用它们的 [super] 方法,然后检查重新排序的项目是否应该有徽章。如果是,请设置它们的值。
当然,这需要您跟踪“更多”项目的徽章值,以便在显示时设置它们。
您还可以覆盖/扩展“更多”控制器行为以在表格行中显示徽章值,可能在附件指示器旁边。
请参阅此答案以获取指针: Customizing the More menu on a Tab bar
【讨论】:
以上是关于如何为我的第 6 个标签栏项目设置徽章值?的主要内容,如果未能解决你的问题,请参考以下文章