在iOS上的application通常會有一條Navigation bar用來放置如"上一頁"或"Refresh"這類按鈕的, 像是下圖
不過老是藍藍的, 不是那麼好看, 想了半天, 決定把它改成黑的
1. 直接改TTBaseViewController的Navigation bar的tint color:
self.navigationBarTintColor = [UIColor blackColor];
這個property並不存在UIViewController裡面, 而是只有Three20裡的TTBaseViewController才有提供, 不過這方法並不優, 理由是, 每個screen都得自己這樣做
2. 用TTDefaultStyleSheet
這算是Three20蠻強大的一個功能之一, 透過指定Global的Stylesheet就可以替換顏色跟字型, 如果多準備幾個Stylesheet, 還可以做到換Theme的功能
首先要準備一個class繼承自TTDefaultStyleSheet
@interface DefaultStyleSheetA : TTDefaultStyleSheet {
由於是要改掉Navigation bar的顏色所以要自行Override掉navigationBarTintColor:
-(UIColor *) navigationBarTintColor {
return RGBCOLOR(20, 20, 30);
}
最後, 就把global stylesheet設成這個, 就大功告成了
[TTDefaultStyleSheet setGlobalStyleSheet:[[DefaultStyleSheetA alloc] init]];
沒有留言:
張貼留言