Q
更改導航欄的顏色
3
A
回答
4
UINavigationBar
類有一個UIColor *tintColor
屬性,您可以在代碼中進行更改。
或者,此屬性也在InterfaceBuilder UI設計工具中公開。
+0
感謝您的回覆。如果我可以使用圖像作爲導航欄背景,請讓我知道嗎? – ebaccount 2009-06-02 23:34:15
4
假設您以編程方式添加了導航欄,而不是在Interface Builder中,只需將其放入viewDidLoad方法即可。
self.navigationController.navigationBar.tintColor = [UIColor grayColor];
0
TintColor屬性不會影響導航欄的默認子視圖作爲底部邊框和陰影。有時候,重寫導航欄的佈局是有用的。
儘管navigationBar是UINavigationController的只讀屬性,但您可以通過「setValue:forKey:」避免 此限制。這個方法在5個成功提交給AppStore的應用程序上獲得批准。
您可以繼承UINavigationBar並根據需要更改drawRect:方法。 例如,
@implementation CustomNavigationBar
- (void) drawRect:(CGRect)rect
{
[super drawRect:rect];
UIImage *backgroundImage = ImageFromColor(WANTED_COLOR);
[backgroundImage drawInRect:rect];
}
後,你也可以繼承的UINavigationController和更改initWithRootViewController:
- (id) initWithRootViewController:(UIViewController *)rootViewController
{
self = [super initWithRootViewController:rootViewController];
if (self)
{
CustomNavigationBar *navBar = [CustomNavigationBar new];
[self setValue:navBar forKey:@"navigationBar"];
}
return self;
}
你也可以改變由製作類別的UINavigationController和實現方法混寫的initWithRootViewController這種方法:
附:昨天我的新應用出現在AppStore,這種方法沒有任何問題。
相關問題
- 1. 更改UIDocumentInteractionController導航欄的顏色
- 2. 更改UIActivityViewController的導航欄顏色
- 3. 更改摺疊的導航欄顏色
- 4. Swift - iOS:更改導航欄的顏色
- 5. 更改導航欄的按鈕顏色
- 6. 更改導航欄的顏色2.0.4
- 7. 更改導航欄的默認顏色
- 8. Xamarin.forms如何更改導航欄顏色
- 9. 灰度Bootstrap導航欄 - 更改顏色
- 10. 滾動時更改導航欄顏色
- 11. 更改導航欄背景顏色?
- 12. 更改導航欄文本顏色
- 13. Bootstrap-sass更改導航欄顏色
- 14. 在MFMailComposeViewController中更改導航欄顏色
- 15. iPad SplitView更改主導航欄顏色
- 16. 更改導航欄色調更改顏色不正確
- 17. 如何更改導航欄和導航文本顏色的背景顏色
- 18. 根據其位置更改導航欄顏色。顏色不變
- 19. 如何更改Liferay 6.2中的導航欄和導航欄的顏色
- 20. 如何更改導航欄上的導航欄鏈接輪廓顏色
- 21. 更改滾動條上的引導導航欄的顏色
- 22. 更改鏈接的顏色在我的引導導航欄
- 23. 更改導航欄的顏色(背景色)
- 24. 導航欄的HTML顏色
- 25. 無法更改引導程序3中導航欄的顏色?
- 26. 更改導航欄引導程序的文本顏色
- 27. 如何更改引導程序導航欄的顏色?
- 28. 以編程方式更改狀態欄顏色等於導航欄顏色
- 29. 更改顏色導航欄,選項卡欄
- 30. iOS狀態欄更改顏色以自行匹配導航欄
這是非常接近這個問題:http://stackoverflow.com/questions/901542/using-image-or-tint-color-on-uinavigationbar-in-iphone – 2009-06-03 12:40:09