1

我當前使用UIModalPresenationOverFullScreen來呈現下一個控制器,此時我想更改UIStatusBarStyle。先前的控制器已獲得UIStatusBarStyleDefault,但在當前我想使用UIStatusBarStyleLightContent。因爲UIModalPresenationOverFullScreen前一個控制器在後臺仍然存在。這導致當前將繼承該風格的問題。即使使用UIModalPresentationOverFullScreen更改UIStatusbarStyle

在我設置View controller-based status bar appearance爲YES,並已試圖與像一些提示plist文件:

[self setNeedsStatusBarAppearanceUpdate]; 
self.navigationController.navigationBar.barStyle =UIStatusBarStyleLightContent; 
- (UIStatusBarStyle)preferredStatusBarStyle { 
     return UIStatusBarStyleLightContent; 
} 

空話似乎工作。任何人遇到同樣的問題。我仍然希望以前的控制器仍然活着,但改變了UIStatusBarstyle

+0

使用 「[[UIApplication的sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; [自setNeedsStatusBarAppearanceUpdate];」 – the1pawan 2015-03-13 11:29:42

+0

不起作用。同樣的問題,仍然是defaultstyle。 @ the1pawan – Martin 2015-03-13 14:38:10

回答

4

您可以在模態控制器使用

self.modalPresentationCapturesStatusBarAppearance = YES; 

從文檔:

modalPresentationCapturesStatusBarAppearance屬性

指定是否視圖控制器,呈現非全屏,接管從所述呈現視圖控制器狀態欄的外觀控制。在viewDidLoad中下一個控制器

相關問題