2017-02-21 33 views
1

您能否建議我,在iOS> = 9.0中爲MFMailComposeViewController設置狀態欄樣式的正確方法是什麼? 我知道,[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];已被棄用,我無法使用它。 我知道可能的解決方案是增加類別如下:用於MFMailComposeViewController的UIStatusBarStyleLightContent

#import "MFMailComposeViewController+StatusBarStyle.h" 
@implementation MFMailComposeViewController (StatusBarStyle) 
#pragma mark - Status bar management 
- (UIStatusBarStyle)preferredStatusBarStyle { 
    return UIStatusBarStyleLightContent; 
} 
- (UIViewController *)childViewControllerForStatusBarStyle { 
    return nil; 
} 
@end 

但在這種情況下,我應該使View controller-based status bar appearance選擇和實施中存在的我的應用程序中的所有ViewContollers - (UIStatusBarStyle)preferredStatusBarStyle(和我有很多他們的) 。 那麼,有沒有另一種解決方案?

+0

當你想重寫某些東西時添加一個類別是錯誤的,所以它不是一個解決方案 – igrek

+0

參考https://stackoverflow.com/a/ 5272612/907692瞭解詳情 – igrek

回答

0

好吧,我創建了自己CommonNavigationViewController,添加了這兩種方法:

- (UIStatusBarStyle)preferredStatusBarStyle { 
    return UIStatusBarStyleLightContent; 
} 

- (UIViewController *)childViewControllerForStatusBarStyle { 
    return nil; 
} 

,改變了根類導航控制器在故事板這一個。 它有幫助,現在導航控制器堆棧中出現的所有VC都具有燈狀態欄。但無論如何,我不喜歡這個解決方案:(

相關問題