У меня есть приложение только для iOS 7, которое использует UIAppearance для стилизации UINavigationBar в приложении.MFMailComposeViewController игнорирует некоторые из протокола UIAppearance в iOS 7
У меня есть следующий код в моем AppDelegate:
[[UINavigationBar appearance] setBackgroundImage:redImage forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearanceWhenContainedIn:[MFMailComposeViewController class], nil] setBackgroundImage:blueImage forBarMetrics:UIBarMetricsDefault];
Однако MFMailComposeViewController появляется на фоне redImage!
В документации говорится следующее:
Важно: Вид иерархии этого класса является приватным и вы не должны изменять его. Однако вы можете настроить внешний вид экземпляра с помощью протокола UIAppearance.
Так что не причина, что выше, не должны работать, и я 100% уверен, что redImage
и blueImage
различные цветные изображения.
Неужели кто-нибудь еще испытал эту проблему? Я предполагаю, что это ошибка в iOS 7, но у меня не было времени проверить iOS 6 (я получаю эти результаты с помощью iPad 4).
Если бы вы попытались установить явку композитор был показан? –
@ LeszekŻarna Да, хак, чтобы обойти это, чтобы установить глобальный внешний вид перед тем, как представить его, а затем изменить его обратно, прежде чем я его отклоню .. однако это кажется импрессивным, и мне было интересно, было ли там правильное исправление – liamnichols
@ LeszekŻarna вы столкнулись с чем-то похожим - я застрял http://stackoverflow.com/questions/20768736/uibarbuttonitem-appearance-settintcolor-getting-lost-ios-7 –