2014-09-17 2 views
5

Мы все будем обновлять наши приложения до iphone 6 и iphone 6 plus. Это означает, что нам нужно поддерживать 4 размера.Поддержка нескольких разрешений iPhone с помощью одного раскадровки

1.) 3,5
2.) 4
3.) 4,7
4.) 5,5

Можем ли мы поддерживать все эти размеры с одного XIB или раскадровки экрана? также поделитесь своими мнениями о том, как мы можем обновлять существующие приложения для iphone 6 и iphone 6 plus.

ответ

7

Да. См. Apple iOS8 documentation, в частности, по размерам:

iOS 8 делает работу с размером экрана и ориентацией более универсальной. Легче, чем когда-либо, создать единый интерфейс для вашего приложения, который хорошо работает на iPad и iPhone, при необходимости настраивая изменения ориентации и различные размеры экрана. Создавайте приложения с общим интерфейсом, а затем настраивайте их для разных классов. Адаптируйте свой пользовательский интерфейс к сильным сторонам каждого форм-фактора. Вам больше не нужно создавать конкретную раскладку iPad; вместо этого назначьте соответствующие классы размера и настройте свой интерфейс для лучшего опыта.

В iOS 8 есть два типа классов размеров: обычные и компактные. Обычный размерный класс обозначает либо большое количество экранного пространства, например, на iPad, либо общепринятую парадигму, которая создает иллюзию большого количества пространства экрана, например прокрутку на iPhone. Каждое устройство определяется классом размера, как по вертикали, так и по горизонтали.

Существует также очень хорошее учебное видео на WWDC site.

Чтобы остановить масштабирование вашего iPhone 6/6 +, add a launch image of the correct size или лучше, используйте раскадровку для запуска.

Оттуда вы должны использовать AutoLayout и избегать жесткого кодирования до размеров экрана. В долгосрочной перспективе это будет намного меньше усилий и меньше ошибок.

+0

Классы размера обрабатывают только различия между iPhone и iPad и между портретом и ландшафтом. Мне было бы интересно узнать (и, я думаю, OP), как обращаться с макетом на разных размерах iPhone, так как все iPhones находятся в одном классе размеров. –

+0

Autolayout. Стратегия Apple, похоже, заключается в разводе кода с размерами экрана (очень хорошая вещь) и толчка людей по пути автозапуска с четырьмя «формами» общего вида, которые могут принимать различные макеты. –

+0

Извините, но ваш комментарий слишком общий. Я специально спрашивал, как это можно сделать с практической точки зрения. Я знаю, что это должно быть сделано с автозапуском, просто не знаю, как именно :-) –

0

В существующих проектах вы можете использовать автоматическую или автоматическую компоновку xib-файлов .., которые поддерживают все 4 устройства.

Я реализую свои проекты, используя авторезистор для поддержки всех устройств.

Смежные вопросы