我目前使用iOS 7中的机制,在UINavigationController
子类上定义(UIStatusBarStyle)preferredStatusBarStyle
选择器,以控制以模态方式呈现的视图中状态栏的外观(返回UIStatusBarStyleLightContent
)。然而,使用MFMailComposeViewController
实例时,我无法以任何方式影响状态栏的外观。
似乎问题在于MFMailComposeViewController
的顶部视图是MFMailComposeInternalViewController
,它是私有且未经记录的,并且似乎不应该被更改。尝试对其进行子类化或创建类别会生成编译器错误。它的preferredStatusBarStyle
为UIStatusBarStyleDefault
,但我想要的是UIStatusBarStyleLightContent
。
其他答案建议将"View controller-based status bar appearance"的plist值设置为NO,但这样会影响我的应用程序的其他部分。有没有办法改变这个状态栏的外观呢?