it-swarm.com.ru

Предупреждающая рамка для "Панели навигации" будет другой, во время выполнения появится в 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. На самом деле эти навигационные контроллеры не имеют Navigation bar. Navigation bar существует для подпредставлений. В любом случае, я могу решить эту проблему, поставив галочку и сняв флажок Shows navigation bar в Attributes inspector. Но, к сожалению, каждый раз, когда я снова открываю Main.storyboard, это предупреждение появляется снова. Также, если я нажму на желтый треугольник, а затем на обновления кадров, ничего не произойдет. Есть идеи?

 enter image description here

137
Danny

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

153
Kai

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

34
buildsucceeded

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

14
negersiu

Это сработало для меня в 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

12
guoc

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

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

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

7
Jensie

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

6
colby

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

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

3
Mobile Bloke

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

3
nekonari

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

2
templeman15

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

я должен был выбрать «нет» в «нижней панели» вариант:

 enter image description here

1
Radu Ursache

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

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

 enter image description here

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

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

 enter image description here

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

1
user2027373

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

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

0
GregP

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

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

0
Aks