iOS开发--tarBarItem右上方显示badgeValue

直接设置tabBarItem.badgeValue没有效果,找原因半天发现ViewController被NavigationViewController包着

需这样设置才行:

1 self.navigationController.tabBarItem.badgeValue = [[NSString alloc]initWithFormat:@"%d",count];

1. 如果有数字,直接使用 viewController.tabBarItem.badgeValue = @"1";

2. 没有数字,自己往tabbar加subView。

    需要注意的是坐标x,y一定要是整数,否则会有模糊

        UIImageView *dotImage = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"personinfo_unread@2x.png"]];

        dotImage.backgroundColor = [UIColor clearColor];

        dotImage.tag = RED_DOT_TAG;

        CGRect tabFrame = tabbarController.tabBar.frame;

        CGFloat x = ceilf(0.94 * tabFrame.size.width);

        CGFloat y = ceilf(0.2 * tabFrame.size.height);

        dotImage.frame = CGRectMake(x, y, 6, 6);

        [tabbarController.tabBar addSubview:dotImage];

        [dotImage release];

posted @ 2015-08-05 09:55  feiling  阅读(517)  评论(0编辑  收藏  举报