3 回答

TA貢獻1805條經驗 獲得超10個贊
tintColor在iOS 7.0中,for欄的行為已發生變化。它不再影響酒吧的背景。
從文檔:
barTintColor 類參考
應用于導航欄背景的色調顏色。
@property(nonatomic, retain) UIColor *barTintColor
討論
默認情況下,此顏色為半透明,除非您將半透明屬性設置為NO。
可用性
適用于iOS 7.0及更高版本。
在UINavigationBar.h中聲明
碼
NSArray *ver = [[UIDevice currentDevice].systemVersion componentsSeparatedByString:@"."];
if ([[ver objectAtIndex:0] intValue] >= 7) {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}else {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = [UIColor redColor];
}
在iOS 7 UI Transition Guide中,我們也可以使用它來檢查iOS版本
if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
// iOS 6.1 or earlier
self.navigationController.navigationBar.tintColor = [UIColor redColor];
} else {
// iOS 7.0 or later
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
self.navigationController.navigationBar.translucent = NO;
}
編輯 使用xib

TA貢獻1828條經驗 獲得超6個贊
通過在Xcode中使用Interface Builder,可以很容易地完成原始問題 - 獲取舊Twitter的Nav Bar外觀,藍色背景和白色文本。
使用文檔大綱,選擇導航欄。
在“屬性”檢查器的“導航欄”組中,將“樣式”從“默認”更改為“黑色”。這會將導航和狀態欄的背景顏色更改為黑色,將其文本更改為白色。因此,當應用程序運行時,狀態欄中的電池和其他圖標和文本將顯示為白色。
在同一導航欄組中,將條形色調更改為您喜歡的顏色。
如果導航欄中有條形按鈕項目,它們仍將以默認的藍色顯示其文本,因此在“屬性”檢查器的“視圖”組中,將“色調”更改為“白色”。
這應該會得到你想要的。這是一個屏幕截圖,可以更容易地看到進行更改的位置。
請注意,僅更改條形色調不會更改導航欄或狀態欄中的文本顏色。風格也需要改變

TA貢獻1829條經驗 獲得超6個贊
self.navigationBar.barTintColor = [UIColor blueColor];
self.navigationBar.tintColor = [UIColor whiteColor];
self.navigationBar.translucent = NO;
// *barTintColor* sets the background color
// *tintColor* sets the buttons color
- 3 回答
- 0 關注
- 746 瀏覽
添加回答
舉報