2015-07-02 4 views
0

В портретной ориентации я хочу развернуть 4 вида по горизонтали. 4 вида имеют равную ширину. Ниже приведены сведения о ширине каждого iPhone, полученной от ios resolution.Как измерять и просматривать макеты на основе разных размеров экрана

iPhone 4/4S/5/5c/5s 'ы ширина логика разрешение составляет 320

iPhone 6' ширина логического разрешения с 375

iPhone 6 Логика ширины разрешения плюс «s является 414 .

Таким образом, ширина каждого представления в будет:

iPhone 4/4S/5/5c: 320/4 = 80 (PTS)

iPhone 6: 375/4 = 93,75 (PTS)

iPhone 6 плюс: 414/4 = 103,5 (PTS)

Мой вопрос, как же система компоновки IOS обрабатывать эти десятичные (93,75 & 103.5). И есть ли лучшее решение для обработки этой ситуации без потери пикселей.

+0

Этот вопрос может иметь ответ для вас: http://stackoverflow.com/questions/26373598/how-to-create-percentage-of-total-width-using-autolayout [1]: HTTP : //stackoverflow.com/questions/26373598/how-to-create-percentage-of-total-width-using-autolayout – mantov1

ответ

2

В SDK учитывается масштабный фактор при планировании видов.

Именно поэтому вы увидите «интегральные» фреймы с дробными значениями .5 на устройстве @ 2x или .33 и .66 на устройстве @ 3x.

Другими словами, система компоновки будет прилагать усилия для согласования с зависящим от устройства пикселем, даже если вы ограничиваете независимые от устройства точки.

Лучший курс - попробовать макет и посмотреть, как он работает, поскольку вы можете обнаружить, что SDK уже предвосхитил ситуацию. В противном случае вы попытаетесь решить проблему без проблем.

В iOS 9 Apple делает это еще проще с UIStackView. Вам не нужно было бы добавлять какие-либо ограничения для представлений, поскольку представление стека (по горизонтали) выложило бы их для вас.

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