Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Невозможно изменить цвет оттенка панели навигации iOS7 с помощью MapView

Автор вопроса: JonОтветов: 1

Кто-нибудь обнаружил, что если вы измените цвет оттенка панели навигации в представлении с помощью MKMapView, вы не сможете его изменить? Например, предположим, что вы установили следующий код в своем AppDelegate, чтобы изменить цвет на зеленый:

[[UINavigationBar appearance] setBarTintColor:[UIColor greenColor]];

Любой uiviewcontroller с MKMapView, цвет оттенка полосы остается черным, и что бы я ни делал, я не могу его изменить. Все остальные uiviewcontrollers меняются без проблем. И да, я уже пытался принудительно изменить, поместив код непосредственно в файл univiewcontroller .m, но все равно не изменится.

Кто-нибудь еще имеет эту проблему и смог ее исправить?

  • Похоже, ваш вид карты может не распространяться под панелью навигации. Выложить код макета? Noah Witherspoon 01.10.2013

objective-ccolorsuinavigationbarmkmapviewios7

Ответы

Ответ 1 · рейтинг 4 · huggie

Это обходной путь, с которым я в конечном итоге. Поместите их на все контроллеры представления:

- (void)viewWillAppear:(BOOL)animated
{
    self.navigationController.navigationBar.translucent = NO;
}

- (void)viewDidAppear:(BOOL)animated
{
    self.navigationController.navigationBar.translucent = YES;
}

Патч для обезьян (прокрутить) их в UIViewControllers и все. Если у вас есть какой-либо подкласс UIViewController, который переопределяет viewWillAppear или viewDidAppear, просто убедитесь, что вы также отправляете суперклассу эти сообщения.

Примечание. Это имеет побочный эффект в виде короткой вспышки, когда полупрозрачность бьет перед вашим глазом.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы