Цвета панели навигации iOS 7 не отображаются должным образом на iPhone 4
Цвета моей панели навигации отображаются нормально в iOS 7
Развертывание iOS 6.0, но если системная версия iOS 7.0 или более поздняя, некоторые цвета панели навигации не отображаются должным образом на iPhone 4. Работает нормально на iPhone 5.
Вот как я это делаю:
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
self.edgesForExtendedLayout = UIRectEdgeNone;
[self.navigationController.navigationBar setBarTintColor:[UIColor blueColor]];
[self.navigationController.navigationBar setTranslucent:YES];
}
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
Возможно, последняя строка - это проблема (setTranslucent), поскольку я слышал, что у iPhone 4 есть некоторые проблемы с полупрозрачностью, но я уверен, что в iOS 6 вы также можете установить прозрачность навигационной панели. Попробую избавиться от этого дальше и обновить, если что-нибудь исправит.
РЕДАКТИРОВАТЬ: похоже, цвет полосы исчезает после того, как я отклонить представленный контроллер представления. Но это ни к чему не приводит, кроме iPhone 4.
1 ответ
Избавиться от [self.navigationController.navigationBar setTranslucent:YES]; и это должно работать нормально.
Если вы хотите, вы можете проверить модель устройства (см. Здесь: Определение устройства (iPhone, iPod Touch) с помощью iPhone SDK)
и настроить вид соответственно.