как сделать UILabel autosize text в раскадровке (или построителе интерфейса), а не программно



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



Я не могу понять, как сделать UILabel автоматически получить достаточно большой, чтобы соответствовать тексту.



Это позволит сэкономить время при проектировании новых видов.

601   3  

3 ответов:

на любом элементе в Interface Builder вы можете выбрать элемент и нажать...

редактор > размер, чтобы соответствовать содержанию (сочетание клавиш: CMD+=)

Это будет делать "sizeToFit" на выбранном элементе. Метки будут соответствовать их размеру текста, вид изображения будет изменяться до размера изображения и т. д...

в Xcode 6.1 мне пришлось установить приоритет сопротивления сжатию содержимого на более высокое значение, вероятно, потому, что у меня есть другие ограничения, которые противоречат друг другу или приводят к отключению опции sizeToFit.

Content Compression Resistance Priorityперед: Beforeпосле: After

начиная с iOS 6, есть новый API, доступный в Interface Builder, а также называемый "Auto Layout". Вы можете указать некоторые противопоказания, и UIKit изменит размер / переместит ваши представления на основе этих противопоказаний. Если вы не хотите использовать автозапуск, вы можете использовать autoresizeMask свойство UIViews (которое также устанавливается в Interface Builder).

Проверьте Autolayout Guide!

чтобы изменить размер представлений в Interface Builder по мере их построения, см. ответ от @Fogmeister

Comments

    Ничего не найдено.