2015-05-19 5 views
10

Я изучаю Xcode и iOS, и все идет хорошо с кодированием, но я смущен несколькими вариантами в построителе интерфейса.XCode (Interface Builder): обновить фреймы и ограничения?

Похоже, что когда я добавляю противопоказание, я могу выбрать «Обновить фреймы», а затем либо «Элементы новых ограничений», либо «Все кадры», но кажется, что мне не всегда нужно это делать ... иногда я делаю, а иногда и нет - я не думаю, что я действительно понимаю концепцию. Кажется, это необязательно. Когда нужно выбрать это или нет?

Как только ограничение добавляется, то это должно быть так?

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

Я бы очень признателен за любые объяснения, я попытался найти в Интернете, и я не могу найти ничего конкретного, тем больше я читал, тем больше запутывается я, кажется, чтобы получить :-)

также проверить вменяемость: A frame - это ограничивающий прямоугольник каждого элемента управления (view), а не только viewcontrol, поэтому каждый вид (управление) является его собственным фреймом. Это правильно?

Заранее спасибо за любую помощь

+0

Означает ли это, нажав на 'Update Frames' нет необходимости во время фактического выполнения и только для вас разработчик, чтобы увидеть более точную представление раскадровки? – Honey

ответ

12

Я попытаюсь объяснить концепцию ограничений и представления раскадровки.
Ограничения - используются для определения положения элементов UIView внутри вашего вида. Например, вертикальное расстояние от вершины представления до вершины элемента UIView. При добавлении ограничения с помощью раскадровки он играет 2 роли:

  1. позиционирования элемента внутри представления, когда ваше приложение работает
  2. Позиционирование элемента в раскадровки самого представления
Frames

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

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

+0

Спасибо, поймите сейчас. – Martin

3

Вам не нужно нажать на «кадр обновления» каждый раз, когда вы добавляете ограничение, если вы это сделаете, он будет обновлять рамку зрения на то, что оно должно быть основано на ограничениях. Да, каждый вид имеет рамку, и это прямоугольник относительно вида viewview.

Чаще всего вы, вероятно, нажмете на ограничения обновления (Shift + Command + =), это позволит вам изменять размеры уже ограниченных представлений и обновлять связанные с ними ограничения.

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