2013-10-03 97 views
14

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

的iOS 6: enter image description here

的iOS 7: enter image description here

回答

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]; 

干杯!

+0

这很好,非常感谢! – Keller

+0

这只修复未选中的图像。为我选择的图像仍然看起来像阴影正在应用。任何帮助? – Halsafar

+1

@Halsafar,您还需要设置选项卡项目所选图像。如果您未设置选定的图像和未选择的图像,则iOS 7徽章将覆盖您的图像。添加[tabBarItem setSelectedImage:selectedImage];到你的tabBar控制器的viewDidLoad方法应该可以解决你的问题。 – Ray

1

这不是能够调整徽章的外观。

如果你真的想让它有所不同,我认为在UITabBar上实现自定义覆盖应该很容易。这样你可以放置任何自定义文本,而不仅仅是数字。

0

的iOS 7 SDK贬值,我们使用定制的TabBar

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

- (UIImage *)finishedUnselectedImage 

- (UIImage *)finishedSelectedImage 

他们认为自己在文档替代品@Daniel Amitay提出3个关键的方法。

文档是这里

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

2

它看起来像徽章被放置在相对于图像的某一位置。所以如果你没有图像,徽章位于tabBarItem的左上角。

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