it-swarm.com.ru

iOS 7: Смещенная рамка просмотра для «Label - Label» будет отличаться во время выполнения

Я только что закончил приложение для iOS 6 и купил учетную запись разработчика неделю назад, поэтому у меня не было много времени, чтобы поиграть с iOS 7 SDK. Просто скачал версию Golden Master и пытаюсь обновить мое приложение до совместимости с iOS 7.

Я получил много предупреждений, говорящих

Смещенная рамка просмотра для "Метка - Метка" будет отличаться во время выполнения.

и я не могу запустить программу. Проект содержит табличное представление, и он анализирует и отображает XML-канал из RSS.

Как исправить эту проблему?

62
AJ112

У меня была та же проблема, и я получаю ниже форму ответа Apple:

Вам необходимо обновить ограничения, чтобы они соответствовали кадрам этих представлений.

Я сделал следующее:

Редактор -> Устранить проблемы с автоматической компоновкой -> Очистить все ограничения в ** представлении контроллера

затем я снова изменил порядок своих объектов в представлении.

PS: попробуйте решение Энрико в первую очередь.

44
null

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

Если вы щелкнете по треугольнику рядом с предупреждением, вы можете получить объяснение того, что неуместно. Тогда вы можете просто переместить кадр туда, где он должен быть. Например:

enter image description here

В этом случае я просто переместил позицию y моего текстового представления в 94, и предупреждение исчезнет. Это потому, что одно из моих ограничений заставит представление быть где-то еще, когда приложение запущено, но положение отличается от того, где оно в настоящее время находится в раскадровке.


Еще один способ переместить рамку в правильное положение - щелкнуть предупреждение рядом с именем View Controller в вашей раскадровке, а затем щелкнуть желтый предупреждающий знак и нажать кнопку "Обновить рамку".

enter image description here

enter image description here

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

137
Enrico Susatyo

У меня была та же проблема, что вам нужно, обновить ограничения или обновить кадр. На раскадровке у вас есть маленькая панель инструментов, как показано на рисунке ниже. enter image description here

Пожалуйста, посмотрите значение: -

enter image description here

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

9
Sandy

Если у вас возникают проблемы с поиском обновлений фреймов в xCode, это можно сделать так:

enter image description here

6
sivi

Ни один из ответов не работает во всех случаях. Начиная с последней версии XCode, используя UISearchBar, включение поля обзора, включенного в IB, заставляет поле поиска отображаться с двойной высотой (но под ним нет полосы обзора). Независимо от того, добавляете ли вы ограничение высоты (любой высоты) в поле поиска, вы получите предупреждение, что это неуместное представление, которое будет 88 H во время выполнения, но 44 H в IB. Обновление фреймов (любых или всех фреймов) не решает проблему. Похоже, ошибка в IB.

2
clearlight