Элементы пользовательского интерфейса на iPhone 6 Plus не занимают весь экран по горизонтали

При разработке для iPhone 6 Plus (все остальные устройства не затронуты). Если у вас есть элемент пользовательского интерфейса, который должен заполнять экран по горизонтали от одного конца до другого, начальное и конечное ограничения обычно равны -16, поскольку 0 считается равным 16 точкам от поля.

Это хорошо выглядит на раскадровке и на всех устройствах, кроме iPhone 6 Plus (как на физическом устройстве, так и на симуляторе).

Как вы можете видеть здесь, определения, которые у меня есть для этого тестового представления на раскадровке:

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

На iPhone 6 Plus это то, что я получаю:

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

Слева и справа от этого черного вида явно есть незаполненные границы. Я сделал несколько тестов, установив ограничения на -19 и -20, чтобы увидеть, будет ли заполнено пространство:

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

И вот как это выглядит:

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

Слева, где ограничение равно -20, границ нет, а справа, где ограничение равно -19, есть граница в 1 пиксель.

Мой вывод состоит в том, что 0 баллов на iPhone 6 Plus находится на расстоянии 20 баллов от границы, а не 16, как на всех других устройствах. Это не может быть сделано специально, это явно ошибка iOS.

Кто-нибудь сталкивался с этой проблемой? Есть ли обходной путь, чтобы сделать это согласованным, чтобы мне не приходилось добавлять жестко закодированные исключения для iPhone 6 Plus?


person manecosta    schedule 11.03.2015    source источник


Ответы (1)


Не используйте маржу. У вас есть возможность отключить маржу для ваших ограничений.

Смысл поля в том, что оно контролируется системой, а не вами, поэтому его можно установить на соответствующий размер для каждого устройства. И имеет смысл, чтобы разница была немного больше на больших устройствах, чем на маленьких.

person Wain    schedule 11.03.2015
comment
Где именно отключить поля? Есть ли широкий вариант раскадровки или это ограничение? - person manecosta; 11.03.2015
comment
Это везде, везде надо выключать? или есть другая работа вокруг - person Raheel Sadiq; 15.03.2015
comment
Я думаю, вам нужно сделать это индивидуально, я не знаю о глобальной настройке, к сожалению. - person Wain; 15.03.2015