#ios5 #uinavigationbar #uibarbuttonitem #appearance
#ios5 #панель навигации #uibarbuttonitem #внешний вид
Вопрос:
я использую MPMoviePlayerViewController внутри своего проекта. Я определил следующий внешний вид для UIButtons и UINavigationBar следующим образом:
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil]
setBackgroundImage:[UIImage imageNamed:@"woodenBarButton"]
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationbarBackground"]
forBarMetrics:UIBarMetricsDefault];
Итак, теперь MPMoviePlayerViewController также использует панель навигации. Теперь проблема в том, что кнопка использует заданный внешний вид, а панель инструментов нет => выглядит дерьмово. Итак, теперь у меня есть следующие вопросы:
- Могу ли я убедить UINavigationBar в MPMoviePlayerViewController использовать внешний вид?
- ИЛИ можно полностью удалить внешний вид только для MPMoviePlayerViewController.
Я попытался получить доступ к кнопке через PlayerViewController.navigationitem.leftbarbuttonitem и перезаписать свойства, но это не сработало.
Было бы здорово, если бы вы могли мне помочь. Спасибо.
Комментарии:
1. здесь нет никого, кто мог бы мне помочь?
Ответ №1:
вы пробовали также настроить appearanceWhenContainedIn
для MPMoviePlayerViewController
? appearance
и appearanceWhenContainedIn
работает одновременно.
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationbarBackground"]
forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearanceWhenContainedIn:[MPMoviePlayerViewController class], nil] setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
Комментарии:
1. рад быть полезным. пожалуйста, отметьте этот ответ как правильный ответ (галочка), поскольку это обычное поведение в stackoverflow. thx
2. Этот метод использовался для удаления настроек внешнего вида при представлении MFMessageComposeViewController. Спасибо