Странное поведение ограничений на iPad

Я пытаюсь сделать одну из самых простых вещей и получаю странный результат.

У меня есть UIViewController с одним UIImageView внутри

Просмотры

Я устанавливаю ограничения, как следовать

ограничения

И я получаю следующий результат

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

Мои вопросы

  1. Почему я получаю отступы слева и справа? Чтобы удалить это дополнение, я должен использовать ограничения от -20 вместо -16, но тогда кадр x - 4.

  2. Почему вертикальное пространство для супервизора (верхнее пространство) автоматически -20

Есть ли у кого-то такое поведение раньше и сейчас, как это решить?

https://github.com/eikebartels/iPadTest https://github.com/eikebartels/iPadTest.git

Заранее спасибо,

Эйке


person Eike    schedule 16.01.2015    source источник
comment
В iOS 8 представления имеют поля. Посмотрите внимательно на свои ограничения. Привязаны ли они к полям суперпредставления или к самому суперпредставлению?   -  person matt    schedule 16.01.2015
comment
на самом деле к самому супервизору ... но супервизор создает поле после.   -  person Eike    schedule 16.01.2015
comment
Я не знаю, что вы сделали в ответ на ответ Мэтта, но я скачал ваш проект github и посмотрел на ваши ограничения. Если вы дважды щелкнете по одному из них (будь то замыкающее или ведущее ограничение), вы увидите, что рядом с одним из элементов написано Margin. Если вы снимите флажок «Относительно поля» и установите для константы значение 0, вы больше не увидите красный фон. Вы должны принять ответ Мэтта, это правильное решение.   -  person rdelmar    schedule 16.01.2015


Ответы (1)


Проблема в том, что вы связали свои ограничения с полями суперпредставления. Если вы хотите достичь края суперпредставления, вам нужно подключиться к самому суперпредставлению (с нулевой константой).

Обратите внимание на слово «margin» в описании ограничения:

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

Проблема с подключением к полям заключается в том, что вы не знаете, какими будут поля при запуске приложения. Это рискованная стратегия. Но вы знаете, где будут края представления, поэтому, если вы хотите сопоставить их, ограничьтесь ими, а не полями. Используйте поля, только если вы действительно хотите, чтобы поля соответствовали полям, какими бы они ни были. Например, ограничение с константой 0 для поля гарантирует хорошее пространство до края суперпредставления. Но вы не хотите никакого пространства!

person matt    schedule 16.01.2015
comment
к сожалению нет. только что попробовал это с UIView, и поведение такое же. - person Eike; 16.01.2015
comment
обязательно github.com/eikebartels/iPadTest github.com/eikebartels/iPadTest.git - person Eike; 16.01.2015
comment
UPS. но сейчас. Просто потяните. Спасибо - person Eike; 16.01.2015
comment
Огромное спасибо за это!! Это решило мою проблему. Ничего не знал о марже. - person Eike; 16.01.2015