在运行时在UItableViewController中添加徽章编号

时间:2013-04-16 09:09:03

标签: objective-c uitabbarcontroller badge

我正在尝试在UITabBarController中添加徽章编号,它正在运行。但我开始使用NSTimer。计时器完成时。它调用webservice,作为回报,我获得了徽章编号。

但是当我在这个场地中将徽章编号设置为UITabBarController时。它不再有用了。

2 个答案:

答案 0 :(得分:0)

[[super.tabBarController.viewControllers objectAtIndex:2] tabBarItem].badgeValue = @"1";

答案 1 :(得分:0)

在没有看到你的代码的情况下很难分辨,但有两种可能性让人想起:

  1. 您正在尝试从不是主线程的线程设置徽章值。尝试将dispatch_async中的徽章价值设置代码包装到主队列中:

    dispatch_async(dispatch_get_main_queue(), ^
    {
        // set badge number    
    });
    
  2. 您设置badgeValue的项目为nil。尝试在添加徽章编号的行中添加断点或一些NSLog语句,并检查某些对象的值是否为零。