Скопировано представление в проект с контроллером навигации. Рамка для "Просмотр изображения" будет отличаться во время выполнения

Вероятно, простой вопрос для опытных пользователей интерфейса Xcode 5, но трудно найти ответ на Google:

У меня приложение для iPhone, которое не использует навигационный контроллер (здесь полноэкранного):

xcode screenshot

Сцена с изображением на правой стороне имеет вид изображения и 5 надписей под ним - для отображения сведений о пользователе:

app screenshot

Затем я создал другое приложение для iPhone и скопировал это "подробное" представление на него (здесь полноэкранное):

xcode screenshot

И теперь Xcode 5.0.2 показывает предупреждение:

Рамка для "Image View" во время выполнения будет отличаться.

Это потому, что какое-то место в верхней части окна будет занято навигационной панелью?

И как его исправить?

Я попробовал щелкнуть значок [- o -], но вместо того, чтобы разрешить мою проблему с макетом, он испортил весь макет (метки переместились влево).

Кроме того, я попытался установить флажки с правой стороны в Инспекторе атрибутов Xcode, но не смог найти там никакой хорошей комбинации (и я не уверен, что подразумевается в контексте Xcode).

UPDATE:

Предложение Оссира сработало для меня, спасибо.

Я публикую новый скриншот (здесь полноэкранный режим), если у кого-то больше предложений по улучшению:

xcode screenshot

Ответ 1

Выберите UIImageView и нажмите значок [- o -], затем выберите пункт Reset В предлагаемые ограничения. Разработанные метрики раздел ничего не делает во время выполнения, только нам нужно выяснить, как будет выглядеть макет перед компиляцией.

Также есть еще один (лучший) подход, но вам нужно проанализировать, какие ограничения UIImageView и соответственно изменить их для нового макета (с добавленной навигационной панелью). Вы можете попробовать опубликовать снимок экрана с этими ограничениями здесь, чтобы мы могли помочь вам разобраться в том, что произошло. Перейдите в Инспектор размеров на правой панели и покажите нам Ограничения.

UPDATE

Ваши ограничения заставляют UIImageView иметь тот же самый горизонтальный выравнивание, что и метки ниже, и иметь такую ​​же ширину. Кроме того, у вас есть ограничения для фиксированного вертикального пространства с верхней метки и навигационной панели, ширина UIImageView зависит от свободного места между навигационной панелью и метками. Я считаю это хорошим решением для текущей компоновки (без прокрутки), потому что все будет вписываться в экран для дисплеев 3,5 дюйма и 4 дюйма. Если вам нужно другое поведение, дайте мне знать в комментариях.

Ответ 2

Я обнаружил, что при снятии флажка "Настроить прокрутку" на контрольном контроллере навигации предупреждение

Настроить вставки прокрутки

Ответ 3

Просто столкнулись с теми же предупреждениями в Xcode версии 8.0 Swift 3.0. Предупреждение исчезло после того, как я проверил и снял флажок "Настроить прокрутки". Примечание: они не были проверены в начале, как в комментарии выше, поэтому он может уточнить для тех, у кого есть это предупреждение.

Отметьте/снимите флажок "Настроить прокрутки".

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

Ответ 4

Похоже, вы запускаете свое приложение на 3,5-дюймовом экране, пока вы его проектируете для 4-дюймового экрана в построителе интерфейса. Вы должны установить все недостающие ограничения, чтобы автозапуск "знал", как выкладывать изображение и метки изображения.

Я бы установил фиксированную высоту для меток и переменную высоту для изображения. Затем установите режим содержимого вашего изображения на "aspect fill" (обратите внимание, что в этом случае вы потеряете часть изображения вместо серых полос слева и справа).