回答
如果我正確理解您的問題,您想要自定義UITabBarItem
上的文字顏色。不幸的是,它確實不那麼靈活。如果你打算這樣做(除非你已經在專業人員的幫助下仔細考慮了設計,否則我不推薦!),你必須做一些非常可怕的事情才能實現它。
我建議遍歷UITabBar
的子視圖(儘可能多的級別),並尋找UILabel
對象。如果你發現一些,你可以改變它們的顏色。如果你不這樣做,這意味着它的實現方式不同(可能在某個地方的-drawRect:
方法中);如果發生這種情況,你真的應該放棄。
祝你好運,無論你決定做什麼。
也就是說可以通過-drawRect:
,但這樣做你的應用程序中,你是高度增加機會通過App Store的
什麼? Drawrect是佈局UIView的標準方法。 – quantumpotato 2014-08-08 16:02:42
被拒絕使用UIAppearance協議(的iOS5 +),這是目前可能的,而且實際上是相當容易的。
[UITabBarItem.appearance setTitleTextAttributes:@{
UITextAttributeTextColor : [UIColor greenColor] } forState:UIControlStateNormal];
[UITabBarItem.appearance setTitleTextAttributes:@{
UITextAttributeTextColor : [UIColor purpleColor] } forState:UIControlStateSelected];
請原諒可怕的顏色!
這是最終爲我工作:
1)選定的文本顏色
[[UIView appearance] setTintColor:someColor];
2)未選擇的文本(也改變圖像色彩)
[[UITabBar appearance] setTintColor:anotherColor];
只是爲了澄清事實有點...
如果您想要更改所有標籤欄項目的外觀,請使用:
Objective-C的:
[[UITabBarItem appearance] setTitleTextAttributes:@{UITextAttributeTextColor :[UIColor someColor]} forState:UIControlStateSelected];
斯威夫特:
UITabBarItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.someColor()], forState: .Selected)
然而,如果你只是想設置單個項目的外觀做它像這樣:
Objective-C:
[self.tabBarItem setTitleTextAttributes:@{UITextAttributeTextColor :[UIColor someColor]} forState:UIControlStateSelected];
斯威夫特:
tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName: UIColor.someColor()], forState: .Selected)
注意:tabBarItem
是UIViewController
的屬性。這意味着雖然每個UIViewController
都有此屬性,但它可能不是您要查找的tabBarItem
。當您的視圖控制器包含在UINavigationController
中時,通常會出現這種情況。在這種情況下,請訪問導航控制器上的tabBarItem
而不是其根目錄(或其他)視圖控制器中的那個。
這是SWIFT版本: -
for item in self.mainTabBar.items! {
let unselectedItem: NSDictionary = [NSForegroundColorAttributeName: UIColor.whiteColor()]
let selectedItem: NSDictionary = [NSForegroundColorAttributeName: UIColor.whiteColor()]
item.setTitleTextAttributes(unselectedItem as? [String : AnyObject], forState: .Normal)
item.setTitleTextAttributes(selectedItem as? [String : AnyObject], forState: .Selected)
}
- 1. 標籤欄項目色調顏色
- 2. 如何在Html.Listbox中設置所選項目的文本顏色
- 3. iOS的7/8如何設置標籤欄的文本顏色
- 4. 設置選定的標籤欄項目色調?
- 5. UIColor的標籤欄項目未選中,並更改標籤欄顏色
- 6. 設置操作欄項目文本顏色?
- 7. 爲複選框標籤設置顏色
- 8. 如何在微調器中設置所選的項目顏色?
- 9. 如何更改標籤欄項目的默認灰色顏色?
- 10. 設置基於文本的asp:標籤文本顏色
- 11. 如果我們有5個以上的標籤欄項目,如何設置標籤欄項目的顏色而不是默認的藍色?
- 12. 更改Android標籤欄的文本顏色未選擇
- 13. 更改頂欄顏色和標籤欄文字顏色
- 14. 更改標籤欄項目標題和顏色programmaticaly
- 15. 如何設置ObjectListView中所選項目的「背景」顏色?
- 16. 如何爲ListPicker項目設置所選顏色
- 17. 顯示彈出窗口時設置標籤欄圖標顏色?
- 18. 更改標題欄設置(文本,顏色)
- 19. 如何設置標題欄的文本顏色?
- 20. 如何在Spinner中設置項目的文本顏色Android
- 21. 鈦安卓標籤欄文字顏色
- 22. 設置導航欄項目顏色在MFMailComposeViewController
- 23. 設置欄按鈕項目顏色在應用程序委託
- 24. 更改選定選項卡上的sherlock動作欄選項卡文本顏色
- 25. 編輯特定標籤欄項目的背景顏色
- 26. IOS 8標籤欄項目背景顏色
- 27. 如何更改特定文本的顏色選項標籤
- 28. 具有選項標籤的CSS - 編輯文本顏色
- 29. UIPickerView所選行標籤顏色
- 30. 更改所選標籤的顏色,jquery
@喬納森英鎊......感謝花花公子......我會嘗試 – 2010-12-04 09:51:07
沒問題! :-) – 2010-12-04 09:57:03