Обновление 3:
Это предупреждение также может быть вызвано метками, для которых numberOfLines
установлено любое значение, кроме 1, если целью развертывания является значение 7.1. Это полностью воспроизводимо с новым проектом с одним представлением.
Действия по воспроизведению:
- Создать новый однообъективный проект target-c
- Установите цель развертывания на 7.1
- Откройте раскадровку проекта
- Перетащите ярлык на предоставленный контроллер представления
- Установите для numberOfLines для этой метки значение 2.
- Compile
Я подал следующий радар:
rdar: // problem / 18700567
Обновление 2:
К сожалению, это снова в выпускной версии Xcode 6. Обратите внимание, что по большей части вы можете вручную отредактировать свою раскадровку / xib для решения проблемы. Пер Чарльз А. в комментариях ниже:
Стоит отметить, что вы можете довольно легко случайно ввести это предупреждение, а само предупреждение не помогает найти ярлык, который является виновником. Это неудачно в сложной раскадровке. Вы можете открыть раскадровку как исходный файл и выполнить поиск с помощью регулярного выражения, <label(?!.*preferredMaxLayoutWidth)
чтобы найти метки, в которых пропущен атрибут / значение extendedMaxLayoutWidth. Если вы добавите в таких строках значение selectedMaxLayoutWidth = "0", это то же самое, что отметить явное и установить значение 0.
Обновление 1:
эта ошибка была теперь исправлена в Xcode 6 GM.
Оригинальный ответ
Это ошибка в Xcode6-Beta6 и XCode6-Beta7, которую можно пока игнорировать.
Инженер Apple , на форумах разработчиков Apple , было это , чтобы сказать об ошибке:
Предпочитаемая максимальная ширина макета - это свойство автоматического макета на UILabel, которое позволяет автоматически увеличивать его по размеру в соответствии с его содержимым. Версии Xcode до 6.0 установили бы предпочтительный MaxLayoutWidth для многострочных меток на текущий размер границ во время разработки. Вам нужно будет вручную обновить предпочитаемый MaxLayoutWidth во время выполнения, если ваш горизонтальный макет изменился.
В iOS 8 добавлена поддержка автоматического вычисления предпочитаемого MaxLayoutWidth во время выполнения, что делает создание многострочных меток еще проще. Этот параметр не обратно совместим с iOS 7. Чтобы поддерживать iOS 7 и iOS 8, Xcode 6 позволяет вам выбрать «Автоматический» или «Явный» для предпочитаемый MaxLayoutWidth в Инспекторе размера. Вам следует:
Выберите «Автоматически», если нацелен на iOS 8 для лучшего опыта. Выберите «Явный», если нацелен на <iOS 8. Затем вы можете ввести значение предпочитаемой MaxLayoutWidth, которое вы хотите установить. Включение «Явного» по умолчанию соответствует текущему размеру границ в тот момент, когда вы установили флажок.
Предупреждение появится, если (1) вы используете автоматическую разметку, (2) для многострочной метки установлено «Автоматически» [вы можете проверить это в инспекторе размера для метки] и (3) ваша цель развертывания <iOS 8.
Кажется, ошибка в том, что это предупреждение появляется для неавторизованных документов. Если вы видите это предупреждение и не используете автоматическую разметку, вы можете игнорировать предупреждение.
Кроме того, вы можете обойти эту проблему, используя инспектор файлов на раскадровке или xib, о котором идет речь, и измените «Builds for» на «Builds for iOS 8.0 и более поздние версии».