2013-10-03 136 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周圍的空白像素邊框。