iOS 7 UITabBar徽章位置

时间:2013-10-03 17:40:31

标签: ios objective-c uitabbarcontroller ios7 uitabbar

有没有办法在iOS 7中调整UITabBar徽章的位置?徽章现在阻止标签栏图标比我想要的多一点。

iOS 6: enter image description here

iOS 7: enter image description here

4 个答案:

答案 0 :(得分:2)

看起来徽章被放置在相对于图像的特定位置。因此,如果您没有图像,则徽章位于tabBarItem的左上角。

所以 - 要定位徽章,请调整您用于tabBarItem图像的.png周围的空白像素边框。

答案 1 :(得分:1)

无法调整徽章的外观。

如果你真的想让它与众不同,我认为在UITabBar上实现自定义叠加层应该非常简单。这样你就可以放置任何自定义文本,而不仅仅是数字。

答案 2 :(得分:1)

如果可能,您能提供设置标签栏图像的方法吗?

我遇到了与您相同的问题,并使用UIImageRenderingModeAlwaysOriginal修复了它:

UIImage *image = // Your tab bar item image
UIImage *selected = // Your selected tab bar item image

image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
selected = [selected imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

controller.tabBarItem = [[UITabBarItem alloc] initWithTitle:title
                                                      image:image
                                              selectedImage:selected];

干杯!

答案 3 :(得分:0)

iOS 7 SDK贬低了我们用于自定义tabbar的关键方法

- (void)setFinishedSelectedImage:(UIImage *)selectedImage withFinishedUnselectedImage:(UIImage *)unselectedImage

- (UIImage *)finishedUnselectedImage

- (UIImage *)finishedSelectedImage

他们在文档中提出了他们的替代方案,如@Daniel Amitay建议的那样。

文档在这里

https://developer.apple.com/library/ios/documentation/uikit/reference/UITabBarItem_Class/DeprecationAppendix/AppendixADeprecatedAPI.html#//apple_ref/occ/instm/UITabBarItem/setFinishedSelectedImage:withFinishedUnselectedImage