Обновление рамок и ограничений в Xcode (Interface Builder)
Я изучал Xcode и iOS, и с кодированием дела идут хорошо, но я запутался в нескольких опциях в конструкторе интерфейсов.
Кажется, что когда я добавляю противопоказание, я могу выбрать "Обновить кадры", а затем либо "Элементы новых ограничений", либо "Все кадры", но мне кажется, что мне не всегда нужно это делать... иногда я делаю и иногда я не - я не думаю, что я действительно понимаю концепцию. Это кажется необязательным. Когда будет дело выбрать его или нет?
Как только ограничение добавлено, тогда это должно быть?
Существует также контекстное меню (Устранить проблемы с авторазмещением) (3-й элемент в нижней части построителя интерфейса, представленный треугольником между двумя вертикальными линиями), которое также позволяет принудительно обновлять ограничение или обновление фрейма. Зачем это нужно? Я заметил, что параметры внутри обычно отключены, поэтому я предполагаю, что это становится активным, когда есть проблемы?
Я пытался искать в Интернете, и я не могу найти ничего конкретного; чем больше я читаю, тем больше смущаюсь.
Кроме того, проверка работоспособности: фрейм - это ограничивающая рамка каждого отдельного элемента управления (представления), а не только элемента управления представлением, поэтому каждый вид (элемент управления) является его собственным кадром. Это правильно?
Ответы
Ответ 1
Я попытаюсь объяснить концепцию ограничений и представления раскадровки.
Ограничения - используются для определения позиции элементов UIView внутри вашего представления. Например, вертикальное расстояние от вершины представления до вершины элемента UIView. Когда вы добавляете ограничение с помощью раскадровки, он воспроизводит две роли:
- Позиционирование элемента внутри представления при запуске приложения
- Позиционирование элемента в самом представлении раскадровки
Обновить фреймы - используется, когда вы хотите обновить раскадровку, чтобы она соответствовала применяемым в настоящее время ограничениям. Когда отображение раскадровки не соответствует ограничениям, появится предупреждение.
Добавить недостающие ограничения/ограничения обновления - создаст/изменит ограничения, применяемые к элементу UIView, в соответствии с тем, что в настоящее время представлено в раскадровке. Вид другого пути из фреймов обновления.
Ответ 2
Вам не нужно нажимать "обновить фрейм" каждый раз, когда вы добавляете ограничение, если вы это сделаете, оно обновит фрейм представления до того, что оно должно быть основано на ограничениях. Да, у каждого представления есть кадр, и это прямоугольник относительно вида viewview.
Чаще всего вы, вероятно, нажмете на ограничения обновления (Shift + Command + =), это позволит вам изменять размеры уже ограниченных представлений и обновлять связанные ограничения.