2015-03-18 6 views
0

У меня был проект для iPhone 4 и 5, и теперь я рассматриваю возможность его поддержки для iphone 6 и 6+.От iPhone 5 до iPhone 6 и Plus

Я написал все в коде, т. Е. xib или storyboard, поэтому для элемента UI был указан абсолютный размер. Например, есть в tableView «s клетки а UIImageView:

UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)]; 

В настоящее время я еще не добавил запуск изображение для Iphone 6 и плюс, так что эти виды масштабируются версию в Iphone 6 и плюс.

Вопрос в том, добавлял ли я стартовые изображения, нужно ли указывать разные кадры для iPhone 5, 6 и 6 плюс? Это будет огромная задача, так как мне нужно добавить тонны кодов.

ответ

0

Для поддержки iPhone 6 и iPhone 6 Plus вам необходимо добавить файл LaunchScreen.xib к вашему проекту. И да, вы правы, все ваши статические размеры, которые полагаются на стандартную ширину iPhone, будут нарушены в этот момент. Поэтому было бы лучше использовать относительные размеры, чем абсолютные

+0

что вы имеете в виду относительных размеров? Как мне это сделать? – user2053760

+0

@ user2053760 т. Е. У вас есть ячейка tableView' с 'UIImage',' UILabel' и 'UISwitch'. Мое предложение определяет 'width' для' UIImage' и 'UISwitch', и пусть' UILabel' заполняет все остальное пространство, определяя его 'width' как' 'супервизор' width' минус 'image' и' switch' width минус поля – Azat

1

Я думаю, что в вашем случае это лучший временной переключатель для XIB или раскадровки вместо установки рамки через код. Если вы используете механизм Auto Resize/Layout, вам может не понадобиться много беспокоиться об этих проблемах, когда Apple представит новое устройство. И это определенно собирается сократить ваши усилия по поддержке более новой резолюции.

+0

Выполнение всех вещей из кода может иметь смысл, когда у вас есть еще несколько разработчиков в вашей команде, и все они редактируют часть пользовательского интерфейса проекта. Таким образом, во время работы с VCS у вас будет много проблем со сценариями. И переход на xib или раскадровку также потребует много работы – Azat

+0

@ Азат, что вы предлагаете ?. –

+0

Мое предложение - изменить код для использования относительных размеров – Azat

1

Относительный размер = не используют абсолютные цифры, или с использованием вида по autoresizingMask свойство сохранять относительное расположение.