На одном из экранов в моем приложении показан предварительный просмотр локального изображения, и у меня есть кнопка действия в верхнем левом углу, которую я использую для представления вариантов взаимодействия с документом:
- (IBAction)actionButtonTapped:(id)sender {
self.interactionController = [UIDocumentInteractionController interactionControllerWithURL:self.attachmentLocalUrl];
self.interactionController.delegate = self;
[self.interactionController presentOptionsMenuFromRect:self.view.frame inView:self.view animated:YES];
}
Это хорошо работает, так как показывает лист действий со списком параметров, включая электронную почту для отправки вложения по электронной почте. Когда я нажимаю кнопку электронной почты, отображается предварительный просмотр сообщения электронной почты с моим изображением в нем. Но есть одна вещь, которая не работает. Я настроил внешний вид своего приложения так, чтобы панель навигации имела одинаковые цвета во всем приложении. Вот код, который я запускаю первым в didFinishLaunchingWithOptions моего делегата приложения:
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
[UINavigationBar appearance].barTintColor = [UIColor blueColor];
[UINavigationBar appearance].tintColor = [UIColor whiteColor];
[UINavigationBar appearance].titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor]};
Это хорошо работает для моих собственных контроллеров представления, но контроллер представления электронной почты, отображаемый UIDocumentInteractionController, имеет элементы кнопок панели синего цвета, а не белого. А так как остальные параметры применены корректно, особенно синий фон для панели навигации, кнопки действий Отмена и Отправить почти не видны.
Я пытался воспроизвести это в простом проекте, но не смог. Так что, очевидно, я что-то делаю в своем приложении, чтобы помешать нормальной настройке. Но я не могу понять, что. Любая идея, как я могу отладить это?