До того, как я обновился до Xcode 8, я не видел этой ошибки в таком случае. У меня разные контроллеры навигации. Для всех из них я вижу ошибку Фрейм для «Панели навигации» будет отличаться во время выполнения. Панель навигации "Ожидается: ширина = 384, Фактическая: ширина = 375. На самом деле в этих Контроллерах навигации нет Панель навигации. Панель навигации существует для подпредставлений. В любом случае я можно решить эту проблему, поставив галочку и снимите флажок Показывает панель навигации в Инспекторе атрибутов. Но, к сожалению, каждый раз, когда я снова открываю Main.storyboard, это предупреждение появляется снова. Также, если Я нажимаю на желтый треугольник, а затем на кадрах обновления ничего не происходит.

enter image description here

Ответы (14)

Предупреждение исчезнет, ​​если вы измените свойство «Имитация размера» на «Произвольная форма».

Как упоминалось здесь, вы можете исправить это, включив / выключив параметр Adjust Scrollview Insets.

До тех пор, пока не будет исправлен Xcode 8, вы можете установить для параметра «Просмотреть как:» значение «iPhone SE», чтобы исключить предупреждение. Не идеально, но пока работает.

Нажмите «Просмотреть как» в левом нижнем углу раскадровки и выберите другой размер устройства, затем щелкните его еще раз и вернитесь к размеру устройства, с которого вы начали. У меня это сработало.

Мне удалось полностью избавиться от проблемы, установив симулируемый размер контроллера представления на произвольную форму, а затем установив ширину от 375 до 320.

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


Хакер, но лучше иметь ноль предупреждений, а не 1 :)

Ладно, похоже, я исправил проблему. Вот что я сделал.

Выбирать кадры обновления как обычно. Откройте другой файл, а затем снова щелкните файл раскадровки. Если это не сработает, перезапустите Xcode. Похоже, что он обновлялся внутри, но пользовательский интерфейс построителя интерфейса завис, как это иногда бывает.

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

Я зарегистрировал ошибку в Apple Bug Reporter (ссылка: https://bugreport.apple.com/logon) - если вы хотите сделать то же самое, укажите ошибку: 31355220, чтобы Apple могла связать вместе. Чем больше людей сообщит об этом, тем больше у них будет информации, чтобы исправить это раздражение.

для меня проблема заключалась в том, что я скрывал нижнюю панель при нажатии (с помощью флажка IB).

Мне пришлось выбрать «none» в опции «bottom bar»:

enter image description here

Xcode 12

Я думаю, что эта проблема в основном из-за того, что ширина предварительного просмотра на разных устройствах разная. Например. iPhone 12 и iPhone 11 имеют разную ширину экрана. Если вы установите фиксированное значение для ширины некоторого представления и зададите для него некоторые ограничения, тогда он может не принять ширину экрана вашего текущего предварительного просмотра iPhone, поэтому он пожаловался на «другой размер во время выполнения».

А для меня я установил ширину и высоту UIView и ImageView как фиксированное значение в инспекторе размеров с предварительным просмотром iPhone 11. И дает также фиксированные ограничения на 10 пунктов в начале и конце в IB. Потом он пожаловался, если я переключусь на предварительный просмотр iPhone 12.

Чтобы исправить это, я выбираю viewController и выбираю «Обновить кадры». Тогда это выглядит лучше, но Xcode по-прежнему жалуется на одно ограничение конфликта после изменения. В конце концов, я вручную нашел и исправил это в IB.

Это сработало для меня в Xcode 8.3.1 После перезапуска Xcode он все равно будет работать.

enter image description here

  1. Выберите контроллер навигации

enter image description here

  1. Перейти к инспектору размера

enter image description here

  1. Изменить смоделированный размер на произвольный

enter image description here

  1. Изменить смоделированный размер обратно на фиксированный

enter image description here

  1. Потом предупреждения пропадают.

enter image description here

Измените предварительный просмотр вашего устройства в xcode для контроллера просмотра, скомпилируйте и проверьте наличие предупреждений ...

Xcode 8 имеет битовые ошибки, построитель интерфейса сбрасывает его со случайным no, что влияет на все содержащиеся представления. Попробуйте сменить устройство предварительного просмотра.

Я изменил вид с: iPhone 6S на iPhone 5S, затем вернулся к iPhone 6S, и Xcode внес все изменения, чтобы удалить предупреждение.

Была та же проблема, вот что я сделал, чтобы исправить:

Разверните информацию об ошибке и щелкните предупреждение. Затем Xcode должен автоматически открыть настройки размера / положения. Замените текущее значение значением, предложенным в деталях предупреждения.

enter image description here

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

Вы также можете щелкнуть значок рядом с опубликованным изображением (желтый треугольник с белым кругом. Иногда это значок красного круга), тогда появятся параметры для автоматического исправления / корректировки проблем.

enter image description here

Я выбрал опцию обновления ограничений, а затем соответствующим образом скорректировал новые ограничения.

2022 WebDevInsider