請參閱 「更改UINavigationBarButtons的顏色」
編輯:我刪除了鏈接,因爲域名是下來...
的是從谷歌緩存中的文字:
好吧,這是另一個快速提示。 「如何更改工具欄上按鈕的顏色。」當然,這可以應用於任何工具欄,但我將在UINavigationBar上演示該過程。
上圖僅顯示幾種顏色。事實上,你可以使任何你想要的顏色按鈕。太棒了!代碼也很容易做到這一點。我們想要做的第一件事是打開頭文件,無論哪個對象將使用不同顏色的導航欄按鈕,並聲明前向類UINavigationButton。您可以通過迭代UINavigationBar的子視圖,閱讀其子視圖類名稱,或者如果您擁有越獄設備,通過類轉儲UIKit來獲得此類。
將您的接口聲明之前,下面一行:
@class UINavigationButton;
現在,申報,我們會用實際更改按鈕的顏色標頭的新方法。
- (void)changeNavigationButtonColorToColor:(UIColor *)newColor
或者類似於上面的代碼行。
現在,打開對象的實現文件並實現上述方法。在任何地方你的文件,添加以下方法:
- (void)changeNavigationButtonColorToColor:(UIColor *)newColor {
for (UIView *view in self.navigationController.navigationBar.subviews) {
NSLog(@"%@", [[view class] description]);
if ([[[view class] description] isEqualToString:@"UINavigationButton"]) {
[(UINavigationButton *)view setTintColor:newColor];
}
}
}
正如你可以在上面看到,這其實是一個容易得多比它第一次出現是。我們首先要做的是設置一個for循環,使用NSFastEnumeration遍歷UINavigationBar的子視圖。然後我們輸出子視圖的類名,以供將來參考。如果類名是UINavigationButton,那麼我們已經看到了我們的觀點。我們所做的就是設置tintColor屬性,如果UINavigationButton。
就是這樣,我們完成了!另外,如果你想要更廣泛的範圍,我建議創建一個新的UINavigationBar類別,並在其中放置按鈕顏色改變方法。這是你的方法可以由任何使用UINavigationBar的類執行,而不必一遍又一遍地重新創建相同的方法。
請記住,後退按鈕和導航按鈕不是一回事。您將不得不單獨對後退按鈕着色。
和往常一樣,這裏有一個示例應用程序的鏈接,演示了這種代碼:NavButtonColor.zip
@Rob:是的,它的工作原理爲工具欄,太!
- (void)changeToolbarButtonColorToColor:(UIColor *)newColor {
for (UIView *view in self.navigationController.toolbar.subviews) {
if ([[[view class] description] isEqualToString:@"UIToolbarButton"]) {
[(UINavigationButton *)view setTintColor:newColor];
}
}
}
要小心:您必須在第二行使用「toolbar」,在第三行使用「UIToolbarButton」。
在viewDidLoad
添加以下代碼:
- (void)viewDidLoad {
[self changeToolbarButtonColorToColor: [UIColor colorWithRed:0.0/255 green:163.0/255 blue:224.0/255 alpha:1]];
}
這一切! :)
可能是我使用了一個令人困惑的變量名稱。其實我需要自定義這個按鈕。預期的功能不是支持功能。 – Dilshan 2010-10-22 18:18:04
那麼,你不是在尋找一個左指向的按鈕?只是想清楚約束是什麼。 – westsider 2010-10-22 19:17:52
是自定義的左鍵 – Dilshan 2010-10-23 13:36:18