Подтвердить что ты не робот

Распаковка отсутствует при каждом перезапуске Xcode

Используя auto layout в storyboard, я добавляю некоторые ограничения на UILabel и никаких предупреждений, а затем перезапускаю Xcode он покажет мне предупреждение, подобное изображению, я исправил это предупреждение, но когда я перезапущу Xcode снова появляется такое же предупреждение. Теперь в моем storyboard есть около 20 одинаковых предупреждений, я должен исправлять его каждый раз, когда я перезапускаю Xcode.

Изменить для деталей

1. A UILabel with width is 0 and constraints is like this

enter image description here

2. When I restart Xcode, then it change to :

enter image description here

3. And show me the warning:

enter image description here

4. Then I have to click the waring button and 'Update Frame' to fix it

enter image description here

4b9b3361

Ответ 1

После простого исследования я обнаружил, что эта ошибка может быть легко воспроизведена и не зависит от git, разрешений раскадровки и т.д. Чтобы воспроизвести ее, вы можете просто создать UILabel без текста и установить его ширину на 0. Более того, вы Не нужно добавлять некоторые дополнительные представления, всего лишь один UILabel. В заключение, я думаю, что вы нашли ошибку в раскадровке, и, к сожалению, я не нашел обходного пути. Вероятно, вы должны сообщить об этом https://bugreport.apple.com.

Ответ 2

Это может быть проблема с разрешениями в файле Storyboard, которая предотвращает сохранение ваших изменений. Другие изменения в раскадровке сохранены после выхода и повторного открытия Xcode?

Вы можете проверить разрешение на Main.storyboard с терминала, изменив каталог на каталог вашего приложения +/Base.lproj/

cd ~/Documents/YOUR_APP_CONTAINING_FOLDER/YOUR_APP_NAME/Base.lproj/

и используя команду

ls -l

Выданные разрешения на Main.storyboard должны быть -rw-r -r -

Если разрешения являются нормальными, эта проблема влияет только на ограничения автоматической компоновки UILabels или всех UIElements?

Ответ 3

Я исправлю это, сделаю git commit для репо, а затем попытаюсь его перезапустить. Это, вероятно, будет работать, если вы используете VCS

Ответ 4

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

Итак, когда вы делаете их снова, вы создаете ограничения, которые немедленно помечены как ошибочные. Таким образом, nog сохранен.

Ответ 5

Проблема не похожа на ваш UILabel и tableView, но это происходит из-за контейнера, который удерживает ваш оба объекта. Поэтому попробуйте установить ограничение на контейнер. Если он будет работать автоматически, ваше предупреждение будет удалено.

Ответ 6

У нас была аналогичная проблема, но в нашем случае у нас было одно изображение, которое постоянно удалялось. Что мы сделали, чтобы исправить это - мы обеспечили, что у нас есть последняя версия в Git, удалили проект из локальной машины и затем снова клонировали репозиторий Git. После этого все было в порядке.

Ответ 7

Такая же проблема решена в XCode версии 6.2 bate4 (6C107a).

XCode Version 6.2 bate4
Выпущено: 12 января 2015 г.

Сборка: 6C107a

Ответ 8

У меня такая же проблема на Xcode 6.3. Мне нужно обновить ограничение каждый раз при перезагрузке