2013-06-30 2 views
0

Я построил свои представления в интерфейсе Builder для размеров iPhone 4. Я думал, что Autoresize Constraints в iOS 6 позаботится об изменении размера автоматически. Снимок экрана показывает ограничение Top Space, которое Xcode добавляется автоматически. В нем говорится, что соотношение между верхним и нижним оранжевым представлениями должно составлять 332 балла.iPhone 4 & 5 Autoresize Vertical Space

top space constraint

При просмотре в iPhone 5, оранжевая кнопка растянута весь путь до дна, как вы можете видеть на скриншоте ниже.

enter image description here

При изменении отношения к больше, чем или равно, вид не меняется и остается такой же. При удалении константы, чтобы сделать ее Авто, вид растянут по всему экрану. Как указать ограничение: высота равна 44 точкам и внизу?

ответ

0

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

Вы достигаете пиннинга, выбирая рассматриваемое представление и используя меню пиннинга в построителе интерфейса (плавающее меню с тремя значками на нем или редактором -> вывод из строки меню).

Чтобы перемещаться между дисплеями 3,5 и 4 дюйма, вам необходимо связать контент с правильным краем супервизора. Материал внизу должен застрять на дне.

Я написал о редактировании ограничений в интерфейсном построителе here, если вам интересно.

+0

Я не могу удалить ограничение верхнего пространства (оно фиолетовое). Я просто приколол его донизу, высота осталась 44, и я не могу удалить ограничение верхнего вида, но у меня все еще такая же проблема на 4-дюймовых дисплеях. Как удалить это ограничение? Я устанавливаю его как «Авто», но как только я изменяю его размер до 44 и привязываю его к нижнему супервину, тот же старый 323 верхний вид ограничения возвращается автоматически. Какие-либо предложения? – darksky

+0

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

+0

Так что не размер до 44 путем перетаскивания, по крайней мере, не обойтись без остальных. Используйте меню пиннинга, чтобы определить высоту, а затем отредактируйте ограничения в инспекторе. – jrturton

0

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

Интерфейс Builder автоматически создает ограничения для вас, как только вы размещаете представление в макете. Попытайтесь разместить свои взгляды по автоматическим руководствам IB, чтобы помочь ему правильно угадать, какой макет вы хотите.

До Xcode 4 это было сделано путем установки пружин и распорок из интерфейса Builder, а модель пружин и распорок по-прежнему по умолчанию, поэтому для каждого программно созданного представления, с которым вы хотите использовать автозапуск, не забудьте позвонить

setTranslatesAutoresizingMaskIntoConstraints:NO. 
Смежные вопросы