2014-01-29 35 views
4

我的應用程序背景較暗,但在iOS 7中,狀態欄變得透明。所以我什麼也看不到,只有角落裏的綠色電池指示燈。如何將狀態欄文本顏色更改爲綠色或橙色,就像它在主屏幕上一樣?如何在iOS 7中以編程方式將UIViewControllerBasedStatusBarAppearance更改爲YES/NO?

我知道

  1. 設置UIViewControllerBasedStatusBarAppearanceYES在plist中

  2. viewDidLoad[self setNeedsStatusBarAppearanceUpdate];

  3. 添加以下方法:

    -(UIStatusBarStyle)preferredStatusBarStyle{ 
        return UIStatusBarStyleLightContent; 
    } 
    

如何以編程方式更改UIViewControllerBasedStatusBarAppearance

在此先感謝...

+0

[UIApplication的sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];廣告這應用程序委託啓動方法,這將狀態欄樣式更改爲白色各地的應用 – CoolMonster

+0

可能重複http://stackoverflow.com/questions/19509673/change -the-價值的-INFO-plist中琴鍵編程功能於IOS – iProgrammer

回答

9

在Info.plist中設置「查看基於控制器的狀態欄外觀」爲NO。

然後,在didfinishlaunchingwithoptions方法的appdelegate.m類中添加它。

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO]; 

這適用於iOS 7

8

如上面所提到的其他人加入你的應用程序的Info.plist「查看基於控制器的狀態欄外觀」,並把它的類型:布爾和值:無

爲了您隨時參考:

screenshot

在iOS系統9

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO]; 

方法已棄用。

所以,你可以使用這個:

application.statusBarStyle = UIStatusBarStyleLightContent; 

的方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

這是目前在appDelegate.m文件中添加這行代碼。這會在整個應用程序中更改狀態欄的文字顏色。

所以,如果你有有背景可能是深色還是淺色然後在屏幕的任何屏幕上,您可以通過使用狀態欄的顏色:

[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault; 

希望這有助於。

相關問題