回答
如果我正確理解您的問題,您想要自定義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. UIColor的標籤欄項目未選中,並更改標籤欄顏色
- 3. 爲複選框標籤設置顏色
- 4. 如何更改標籤欄項目的默認灰色顏色?
- 5. 如果我們有5個以上的標籤欄項目,如何設置標籤欄項目的顏色而不是默認的藍色?
- 6. 更改標籤欄項目標題和顏色programmaticaly
- 7. 如何爲ListPicker項目設置所選顏色
- 8. 顯示彈出窗口時設置標籤欄圖標顏色?
- 9. 鈦安卓標籤欄文字顏色
- 10. 設置欄按鈕項目顏色在應用程序委託
- 11. 如何更改特定文本的顏色選項標籤
- 12. 具有選項標籤的CSS - 編輯文本顏色
- 13. 更改所選標籤的顏色,jquery
- 14. UIPickerView所選行標籤顏色
- 15. JavaFX/CSS:更改ComboBox所選項目的文本顏色
- 16. 更改ListView中所選項目的文本顏色
- 17. RecyclerView改變所選項目的背景和文本顏色
- 18. 如何設置目標c中的標籤欄項目badgeValue?
- 19. 如何設置NSButtonCell文本標籤的顏色
- 20. OpenGL:設置文本顏色?
- 21. 更改所選CTreeCtrl項目的顏色?
- 22. getView ListView所選項目顏色變化
- 23. 將顏色設置爲標籤
- 24. 使用NSString爲標籤設置顏色
- 25. 如何設置標籤背景顏色
- 26. 設置Qml TabBar標籤顏色?
- 27. 基於ViewModel屬性實時設置TreeView項目文本顏色
- 28. 標籤欄上的圖標項目
- 29. 在自定義導航欄中設置欄按鈕項顏色
- 30. 如何設置Meteor中事件目標的文本和顏色?
@喬納森英鎊......感謝花花公子......我會嘗試 – 2010-12-04 09:51:07
沒問題! :-) – 2010-12-04 09:57:03