как сделать UILabel autosize text в раскадровке (или построителе интерфейса), а не программно
каждый раз, когда я нажимаю и перетаскиваю UILabel в раскадровку, а затем добавляю текст в текстовое поле, текст обрезается, поэтому мне нужно щелкнуть и перетащить UILabel, чтобы растянуть его достаточно большим, чтобы появился текст.
Я не могу понять, как сделать UILabel автоматически получить достаточно большой, чтобы соответствовать тексту.
Это позволит сэкономить время при проектировании новых видов.
3 ответов:
на любом элементе в Interface Builder вы можете выбрать элемент и нажать...
редактор > размер, чтобы соответствовать содержанию (сочетание клавиш: CMD+=)
Это будет делать "sizeToFit" на выбранном элементе. Метки будут соответствовать их размеру текста, вид изображения будет изменяться до размера изображения и т. д...
в Xcode 6.1 мне пришлось установить приоритет сопротивления сжатию содержимого на более высокое значение, вероятно, потому, что у меня есть другие ограничения, которые противоречат друг другу или приводят к отключению опции sizeToFit.
перед:
после:
начиная с iOS 6, есть новый API, доступный в Interface Builder, а также называемый "Auto Layout". Вы можете указать некоторые противопоказания, и UIKit изменит размер / переместит ваши представления на основе этих противопоказаний. Если вы не хотите использовать автозапуск, вы можете использовать
autoresizeMaskсвойство UIViews (которое также устанавливается в Interface Builder).Проверьте Autolayout Guide!
чтобы изменить размер представлений в Interface Builder по мере их построения, см. ответ от @Fogmeister
перед:
после:

Comments