iOS7中的UITabBar徽章位置

Posted

技术标签:

【中文标题】iOS7中的UITabBar徽章位置【英文标题】:UITabBar badge position in iOS7 【发布时间】:2013-12-19 10:33:34 【问题描述】:

有没有办法定位 UITabBar 徽章?它在 ios7 中看起来几乎没有移位。 在 iOS7 中,它向下一个标签栏项目移动。

我使用了自定义标签栏项目。

UINavigationController *navController = [self.viewControllers objectAtIndex: 0];
UIViewController *viewController = [navController.viewControllers objectAtIndex:0];
CustomTabBarItem *tabBarItem = [[CustomTabBarItem alloc] initWithTitle:EMPTY_STRING image: nil tag:2];
[tabBarItem setImageInsets:UIEdgeInsetsMake(-14.5, 0, 14.5, 0)];
tabBarItem.customHighlightedImage= [UIImage imageNamed: @"icon_on.png"];
tabBarItem.customStdImage = [UIImage imageNamed:@"icon_off.png"];
viewController.tabBarItem = tabBarItem;

【问题讨论】:

您在哪里设置徽章值? 我已经像这样设置了徽章值: UINavigationController* navController = [self.tabBarController.viewControllers objectAtIndex: 0]; UIViewController* viewController = [navController.viewControllers objectAtIndex:0]; NSString* 徽章编号 = nil; if ([array count] > 0) badgeNumber = [NSString stringWithFormat:@"%d", [array count]]; viewController.tabBarItem.badgeValue = badgeNumber; 徽章图标因标签栏图像而移位。解决了问题。 为什么是你的标签栏图片?我有同样的问题 【参考方案1】:

我在使用已弃用的方法 setFinishedSelectedImagewithFinishedUnselectedImage 时遇到了这个问题。相反,请使用 setImage (imageWithRenderingMode) 和 setSelectedImage (imageWithRenderingMode)。

【讨论】:

以上是关于iOS7中的UITabBar徽章位置的主要内容,如果未能解决你的问题,请参考以下文章

如何为 UITabBar 徽章添加边框?

iOS 7.1 中的 UITabBarItem 更改徽章颜色

在 iOS7 中移除 UITabBar 水平分隔符

UITabBar 在 iOS7 上更改一个 UITabBarItem 的背景颜色

iOS7 无法淡化 UIToolbar 或 UITabbar

自动布局忽略iOS7上的UITabBar(栏下的内容)