在iOS7.1中升級Xcode後,我的導航欄和UIToolbar
按鈕沒有顯示正確的顏色。iOS 7.1 UINavigationbar和UIToolbar
當視圖第一次出現時,UIToolbar
按鈕都具有正確的默認藍色,當我轉到下一頁/視圖並返回到前一視圖時,工具欄按鈕以灰色顯示。
我曾嘗試在viewDidLoad
和viewWillAppear
中添加藍色,但沒有運氣。有人可以幫幫我嗎?
謝謝。
在iOS7.1中升級Xcode後,我的導航欄和UIToolbar
按鈕沒有顯示正確的顏色。iOS 7.1 UINavigationbar和UIToolbar
當視圖第一次出現時,UIToolbar
按鈕都具有正確的默認藍色,當我轉到下一頁/視圖並返回到前一視圖時,工具欄按鈕以灰色顯示。
我曾嘗試在viewDidLoad
和viewWillAppear
中添加藍色,但沒有運氣。有人可以幫幫我嗎?
謝謝。
您可以一次爲某些組件設置主題,它們將在整個應用程序中使用。在我的應用程序委託中,我在應用程序初始化時創建了一個名爲setupTheme的函數,並且它只是這樣做的 - 通過說[[UINavigationBar appearance] setBarTintColor:]來設置應用程序的「主題」,該函數實際上設置顏色導航欄的整個應用程序的任何導航控制器。以下是一個應用程序示例,它設置了一些可重用的基本組件,以便您在使用它們時隨時可以使用正確的主題。
- (void)setupTheme {
// get our theme colors
UIColor *primaryThemeColor = [UIColor blueColor];
UIColor *secondaryThemeColor = [UIColor whiteColor];
// nav bar
[[UINavigationBar appearance] setBarTintColor:primaryThemeColor];
[[UINavigationBar appearance] setTintColor:secondaryThemeColor];
[[UINavigationBar appearance] setTitleTextAttributes:@{NSForegroundColorAttributeName:secondaryThemeColor}];
// tab bar
[[UITabBar appearance] setTintColor:primaryThemeColor];
// switches
[[UISwitch appearance] setOnTintColor:primaryThemeColor];
// search bar
[[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitleTextAttributes:@{NSForegroundColorAttributeName: [UIColor blackColor]} forState:UIControlStateNormal];
}
在細節退房了iOS 7的過渡指南瞭解更詳細https://developer.apple.com/library/iOs/documentation/UserExperience/Conceptual/TransitionGuide/Bars.html#//apple_ref/doc/uid/TP40013174-CH8-SW1