UINavigationBar внешний вид отличается в iOS7 и iOS8

Следующий код прекрасно работает на iOS8, но странно ведет себя на iOS7.

[[UINavigationBar appearance] setBackIndicatorImage:[UIImage imageNamed:@"icone retour@2x.png"]];
[[UINavigationBar appearance] setBackIndicatorTransitionMaskImage:[UIImage imageNamed:@"icone retour@2x.png"]];

Смотрите изображения ниже. Любая идея?

введите описание изображения здесьвведите описание изображения здесь

1 ответ

Решение

Вы не должны напрямую ссылаться на версию своих изображений @2x или @3x, а просто ссылаться на "базовое" имя и позволить iOS автоматически определить правильный вариант для текущего устройства:

[UIImage imageNamed:@"icone retour.png"]

Относительно различного поведения в iOS7 против iOS8 я могу только предположить, что iOS8 изменил поведение в imageNamed: с учетом масштаба возвращенного UIImage при передаче изображения с @2x или же @3x во имя. Но вы обычно не должны делать это в любом случае.

Другие вопросы по тегам