2013-08-23 2 views
0

Я пытаюсь получить конкретный макет в Interface Build с использованием ограничений, но не могу определить необходимые мне ограничения. Я попытаюсь продемонстрировать, что я после использования диаграммы. У меня заголовок с фоновым изображением, а затем внутри него две кнопки. На iPhone 5 я выбираю заголовок для более крупного, и это приводит к тому, что заголовок вырастет до нужного размера, но я не могу понять, какие ограничения мне нужно накладывать на кнопки, чтобы они были в пространстве, как я хочу (см iPhone 5 диаграмма)Ограничения Xcode для конкретного макета

на iPhone 4

------------------------- 
|Button 1    | <- Header 
|Button 2    | 
------------------------- 

на iPhone 5 (Необходимо выяснить ограничения, чтобы это произошло)

------------------------- 
|Button 1    | 
|      | 
|Button 2    | 
|      | 
|-----------------------| 

Я хотел бы, чтобы кнопка 2 центр в пространстве между нижней частью кнопки 1 и нижней частью заголовка. Мне также хотелось бы (хотя и не очень важно) переместить кнопку 1 немного в сторону от верхней части заголовка. Может кто-нибудь помочь с этим?

ответ

0

Оберните кнопку2 в обертке UIView. Поместите кнопку2 в вертикальный центр этой обертки.

Обертка должна занимать оставшееся пространство вида. Прикрепите верхний край обертки к нижнему краю кнопки1. Прикрепите нижний край обертки к нижнему краю супервизора.

enter image description here

вуаля:

enter image description here

Теперь вы просто должны изменить BackgroundColor обертки.

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

+0

Спасибо - это ответ на вопрос, но в конце мне это было немного по-другому (со вторыми строками немного выше, чем центрировано в нижнем пространстве), поэтому пришлось изменить ограничения для представления оболочки в код. Я надеялся, что у вас будет больше контроля над ограничениями внутри построителя интерфейса, но это не похоже на это. Кроме того, это не помогает, когда вы пытаетесь установить ограничения, и Xcode продолжает изменять их, пока вы изменяете разные виды. Думаю, мне еще нужно узнать еще немного черной магии Xcode :) –