Предупреждение построителя интерфейса (но работает нормально)

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

У меня есть UILabel внутри UIScrollView. Я установил это так:

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

Я динамически устанавливаю текст в UILabel во время выполнения. Я думаю, это потому, что в UILabel сейчас нет текста (во время компиляции), поэтому он думает, что его ширина и высота должны быть равны 0. Как я могу это исправить?


person 0xSina    schedule 06.06.2014    source источник
comment
Нет, это не потому, что на вашей этикетке нет текста. это должно быть о ваших константах   -  person Duyen-Hoa    schedule 06.06.2014


Ответы (2)


В IB, если вы перемещаете/изменяете размер представления, которое позиционируется ограничениями, ограничения не меняются, поэтому теперь то, что вы видите, не то, что вы получите при запуске приложения. Это то, что относится к «неуместному взгляду». Чтобы исправить это, скажите IB, чтобы он сопоставил ограничения с фреймом или фрейм с ограничениями, в зависимости от того, какой из них вы хотите.

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

person matt    schedule 06.06.2014

Вы можете исправить неправильное размещение, нажав на предупреждающий треугольник.

Вы получите всплывающее диалоговое окно с кучей переключателей.

Обычно я просто выбираю Update Frame

W

person William George    schedule 06.06.2014
comment
Я выберу Update Constraints для этого случая. - person Duyen-Hoa; 06.06.2014
comment
Ограничения обновления не действуют. - person 0xSina; 06.06.2014