I currently use the iOS 7 mechanism of defining the (UIStatusBarStyle)preferredStatusBarStyle
selector on UINavigationController
subclasses to control the appearance of the status bar in modally presented views (returning UIStatusBarStyleLightContent
). With an instance of MFMailComposeViewController, I am unable to affect the appearance of the status bar in any way.
It seems like the issue is that the top view of the MFMailComposeViewController
(which is a UINavigationController
subclass) is a MFMailComposeInternalViewController
, which is private and undocumented and seems like something I shouldn't be messing with. Trying to subclass or create a category of it generates compiler errors. It's preferredStatusBarStyle
is UIStatusBarStyleDefault
, where I want it to be UIStatusBarStyleLightContent
.
Other answers have suggested setting the plist value of "View controller-based status bar appearance" to NO, but I cannot do this without affecting other portions of my application. Is there any way to change the appearance of this status bar?