如何在目标c中设置标签栏项badgeValue?
Posted
技术标签:
【中文标题】如何在目标c中设置标签栏项badgeValue?【英文标题】:How to set Tab bar item badgeValue in objective c? 【发布时间】:2016-11-17 07:42:17 【问题描述】:实际上,我有一个自定义TabBarController
,我需要在最初加载标签栏项目的索引路径的自定义标签时为单独的tabbaritem
设置badgeValue。
[[self navigationController] tabBarItem].badgeValue = @"3";
我为UIViewcontroller
使用了上面的代码,但它仅在我单击标签栏项目时显示。
我也尝试过custom tabBarController
中的以下代码,但没有成功。
[[self.tabBarController.tabBar.items objectAtIndex:3] setBadgeValue:@"2"];
我需要在初始时显示徽章值。
【问题讨论】:
首字母是什么意思?意思是当你的 tabbarcontroller 加载并显示第一个选项卡时? 是的,第一个标签.... 【参考方案1】:如果您想在显示tabbarcontroller
的第一个标签时设置徽章编号,请设置
[[self.tabBarController.tabBar.items objectAtIndex:3] setBadgeValue:@"2"];
在您的第一个标签的viewdidload
中,表示您的tabbbarcontroller
的第一个viewcontroller
【讨论】:
我可以在 appdelegate.m 的 didReceiveRemoteNotification 方法中声明它吗 是的,您可以,但为此您必须通过将storyboard id
设置为您的tabbarcontroller
来实例化tabbarcontroller
,因为您无法在appdelegate 中获得self.tabBarController
!【参考方案2】:
转到您的 AppDelegate
,您将 TabBarController 设置为 UIWindow
的根视图控制器,如下所示。
[self.windows setRootViewController:self.tabBarController];
只需在设置根视图控制器之前和完全初始化 tabBarController 对象之后编写此代码。
[[[[[self tabBarController] tabBar] items] objectAtIndex:3] setBadgeValue:@"2"];
【讨论】:
以上是关于如何在目标c中设置标签栏项badgeValue?的主要内容,如果未能解决你的问题,请参考以下文章
目标 C:如何在方法具有返回类型的方法中或在具有任何返回类型的覆盖方法中设置 NSAutoreleasePool?