UITabbar в Xcode 6

У меня есть UITabbarController с 4 вкладками в iPhone 4, 4s, 5, 5S, он отлично работает с изображением элемента панели вкладок

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

А вот в iPhone 6 и iPhone 6 plus выглядит проводным. Нужно ли ставить разные изображения как для iPhone 6, так и для iPhone 6 plus? Как я могу установить эти изображения.

в айфоне 6

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

И iPhone 6 Plus

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


person Vineesh TP    schedule 04.11.2014    source источник
comment
Итак, у вас есть решение этого вопроса? Поделись, пожалуйста.   -  person Nico    schedule 18.05.2015


Ответы (2)


Я столкнулся с этой же проблемой. Проблема здесь не только в разном разрешении, но и в том, что размер границ на самом деле шире для iphone 6 и iphone 6 plus. Запустив симулятор на всех типах телефонов, я обнаружил следующее:

Tab bar Bounds
iPhone 6 plus:  414 x 49
iPhone 6:       375 x 49
iPhone 5:       320 x 49
iPhone 4        320 x 49

Это означает, что вы должны использовать разные фоновые изображения для iphone 6 и 6 plus. Я не уверен, что это самый эффективный способ сделать это, но он исправил это для меня:

UITabBarController *tabBarController = (UITabBarController *) self.parentViewController;
UITabBar *tabBar = tabBarController.tabBar;

if ([[UIScreen mainScreen] bounds].size.height > 700) {
    tabBar.selectionIndicatorImage = [UIImage imageNamed:@"tabbar-selected6Plus"];
} else if ([[UIScreen mainScreen] bounds].size.height > 600) {
    tabBar.selectionIndicatorImage = [UIImage imageNamed:@"tabbar-selected6"];
} else {
    tabBar.selectionIndicatorImage = [UIImage imageNamed:@"tabbar-selected"];
}

Надеюсь, это поможет!

person yairsz    schedule 14.01.2015
comment
Это решило мою проблему после нескольких часов поиска! Спасибо! - person CrypTech Studios; 26.10.2016

Вам нужно сделать новый размер для iPhone 6 и iPhone 6 Plus.

Действительно, у них новое разрешение: iPhone 6 (1334 на 750 пикселей) и iPhone 6 Plus (1920 на 1080 пикселей).

Более того, если вы используете авто-макет, вам необходимо обновить свои ограничения.

person Guimareshh    schedule 04.11.2014
comment
Вы имеете в виду, что мне нужно добавить отдельную раскадровку для iPhone 6? - person Vineesh TP; 04.11.2014
comment
Не обязательно, вы должны проверить этот пост: stackoverflow.com/questions/25781422/ Это объясняет, как реализовать размер изображения на iPhone 6/6Plus - person Guimareshh; 04.11.2014