MPMoviePlayerViewController против Appearance-Framework (iOS 5)

#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 также использует панель навигации. Теперь проблема в том, что кнопка использует заданный внешний вид, а панель инструментов нет => выглядит дерьмово. Итак, теперь у меня есть следующие вопросы:

  1. Могу ли я убедить UINavigationBar в MPMoviePlayerViewController использовать внешний вид?
  2. ИЛИ можно полностью удалить внешний вид только для 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. Спасибо