【发布时间】:2013-02-17 17:43:39
【问题描述】:
我正在尝试检索为指定选项卡显示的值。它以前工作过,但由于某种原因停止了?下面代码中的int current_badge = 行是获取徽章值的位置,并且无论徽章值实际是什么都返回零。我在一个与 uitabcontroller 分离的视图控制器中。有人对我做错了什么有任何想法吗?
更新:这似乎是因为我在标签控制器之外的视图控制器中。将相同的代码移动到选项卡视图控制器中,它工作正常。有没有更好的方法来确定 tabcontroller 中的徽章值?
-(void)badgeUpdate:(int)tab:(int)dayspan
{
// getting the current badge amount
int current_badge = [[[super.tabBarController.viewControllers objectAtIndex:tab] tabBarItem].badgeValue intValue];
// testing for badge level
if (current_badge > 0)
{
// testing for updates on tab for dayspan or longer
int updates_waiting = [self updatesWaitingCheck:tab:dayspan];
if (updates_waiting > 0)
{
// setting new badge level on tab
[[[[[self tabBarController] viewControllers] objectAtIndex:tab] tabBarItem] setBadgeValue:[NSString stringWithFormat:@"%d", updates_waiting]];
}
else
{
// turning off badge display
[[[[[self tabBarController] viewControllers] objectAtIndex:tab] tabBarItem] setBadgeValue:nil];
}
}
}
【问题讨论】:
-
这不是 xcode 问题,这是 iOS 问题,所以我更改了您的标签和标题。
-
感谢指正
标签: iphone ios uitabbarcontroller badge