В настоящее время у меня есть приложение, которое устанавливает стиль строки состояния для легкого содержимого.
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
Это работает, как и ожидалось, за исключением полноэкранного модального окна. Вот код для создания модального UIViewController:
@implementation PostCard
- (id)initWithToRecipients:(NSArray *)toRecipients subject:(NSString *)subject message:(NSString *)message isHTML:(BOOL)isHTML
{
if ([MFMailComposeViewController canSendMail] && (self = [super init]))
{
self.viewController = [MFMailComposeViewController new];
self.viewController.mailComposeDelegate = self;
[_viewController setToRecipients:toRecipients];
[_viewController setSubject:subject];
[_viewController setMessageBody:message isHTML:isHTML];
self.viewController.modalPresentationStyle = UIModalPresentationFullScreen;
self.viewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
} else {
NSLog(@"Cannont send mail from current device.");
}
return self;
}
...
@end
Затем контроллер представления открытки представляется как
[myOtherViewController presentViewController:myPostCard.viewController animated:YES completion:nil];
В полноэкранном режиме statusBarStyle
возвращается к темному содержимому. Если я изменю modalPresentationStyle
на UIModalPresentationFormSheet
, световой контент сохранится.
Есть ли способ программно установить «statusBarStyle» модального окна? Или скажите ему наследоваться от существующего UIViewController? Или это ошибка? (Обратите внимание, я также безуспешно пытался установить свойства своего проекта.)
Заранее спасибо!