1
如何更改導航欄,選項卡欄的顏色?更改顏色導航欄,選項卡欄
每當我改變它,我沒有得到我想要的顏色,它要麼漸變紅色,要麼漸變白色/銀色。
但無法做到這一點,默認漸變藍色和灰色都看起來不錯,但嘗試改變它任何其他顏色,它看起來很可怕。
任何提示?如何做梯度?
如何更改導航欄,選項卡欄的顏色?更改顏色導航欄,選項卡欄
每當我改變它,我沒有得到我想要的顏色,它要麼漸變紅色,要麼漸變白色/銀色。
但無法做到這一點,默認漸變藍色和灰色都看起來不錯,但嘗試改變它任何其他顏色,它看起來很可怕。
任何提示?如何做梯度?
對於導航欄,你可以使用:
[navigationController.navigationBar setTintColor:[UIColor redColor]; //Red as an example.
這將着色導航欄和它所有的按鈕的顏色,以特定的顏色,在這種情況下,紅色。該屬性也可以在Interface Builder中設置。
如果您想進一步定製它,可以通過對它進行子分類將UINavigationBar
的背景設置爲圖像。像這樣...
頭文件。
#import <UIKit/UIKit.h>
@interface UINavigationBar (CustomImage)
@end
Implementaion文件。
#import "CustomNavigationBar.h"
@implementation UINavigationBar (CustomImage)
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{
if([self isMemberOfClass: [UINavigationBar class]]){
UIImage *image = [UIImage imageNamed:@"bar.png"];
CGContextClip(ctx);
CGContextTranslateCTM(ctx, 0, image.size.height);
CGContextScaleCTM(ctx, 1.0, -1.0);
CGContextDrawImage(ctx, CGRectMake(0, 0, self.frame.size.width, self.frame.size.height), image.CGImage);
}else{
[super drawLayer:layer inContext:ctx];
}
}
@end
然後在界面生成器之類的設置UINavigationBar
(在這種情況下)CustomNavigationBar
下的身份標籤。
如果您稍微更改了代碼,則代替UITabBar
,但它可能與UITabBar
一起使用,但我沒有嘗試過。
如此複雜? :( – 001 2010-10-24 04:42:30
好的設置色彩的顏色不是,但是設置一個完全不同的圖像很複雜 – Joshua 2010-10-24 07:28:06
即使SetTintColor代碼也不適用於我,我已經嘗試了很多這類代碼,並且它們都沒有工作。嗯......我想知道是否我錯誤地放錯了位置,但錯誤並不介意我放置它的位置,他們只是建議有一個缺失的標識符? – john 2012-08-31 02:18:18