Предупреждающая рамка для "Панели навигации" будет отличаться во время выполнения появляется в Xcode 8 Swift 3

До того, как я обновился до Xcode 8 я не видел этой ошибки в таком случае. У меня разные навигационные контроллеры. Для всех них я вижу ошибку Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375 Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375 На самом деле эти навигационные контроллеры не имеют Navigation bar Navigation bar существует для подпредставлений. В любом случае, я могу решить ее, установив галочку и сняв флажок" Shows navigation bar в Attributes inspector Но, к сожалению, каждый раз, когда я снова Main.storyboard это предупреждение появляется снова. Также, если я нажимаю на желтый треугольник, а затем на фреймах обновления, ничего не происходит.

enter image description here

Ответ 1

Предупреждение исчезнет, ​​если вы измените свойство "Имитированный размер" на "Свободная форма".

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

  • Выберите "Контроллер навигации"

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

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

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

  1. Изменение имитированного размера в Freeform

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

  1. Изменить размерный размер обратно на Fixed

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

  1. Затем предупреждения исчезают.

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

Ответ 5

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

<navigationBar key="navigationBar" opaque="NO" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="Os1-Xh-7XN">

Взломать, но хорошо иметь нулевые предупреждения, а не 1:)

Ответ 6

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

Ответ 7

Пока Xcode 8 не будет исправлен, вы можете установить опцию "Просмотр как:" на "iPhone SE", чтобы устранить предупреждение. Не идеально, но работает пока.

Ответ 8

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

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

Ответ 9

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

Ответ 10

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

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

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

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

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

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

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

Ответ 11

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

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

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

Ответ 12

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

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

Ответ 13

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

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