Изменение размера UILabel для текста

У меня есть UILabel в моем подклассе Cell, который, предположительно, должен содержать заголовок. Размер заголовка может быть разной длины, и поэтому мне нужно изменить размер UILabel, чтобы он соответствовал тексту, и чтобы текст не был длинным, мне также нужно установить maxHeight. Ширина должна быть одинаковой. Как создать такой код в swift в подклассе tableViewCell?

Пока у меня это в awakeFromNib

theTitleLabel?.font = UIFont(name: "HelveticaNeue", size: 13) theTitleLabel?.textColor = UIColor(rgba: "#4F4E4F") theTitleLabel?.numberOfLines = 0 theTitleLabel?.lineBreakMode = NSLineBreakMode.ByTruncatingTail 

4 Solutions collect form web for “Изменение размера UILabel для текста”

Самый простой способ сделать это – использовать ограничения автоопределения. Вы используете awakeFromNib , поэтому я предполагаю, что у вас есть эта ячейка где-то в вашем построителе интерфейса (файл xib или раскадровки).

Если вы можете избежать этого, никогда не настраивайте свои представления в своем коде. Это намного проще сделать в Interface Builder.

  1. Найдите свой ярлык и настройте его атрибуты (шрифт, цвет, режим разрыва строки и т. Д.) В Interface Builder.

  2. Добавьте ограничение ширины (или ограничения на левое и правое поля, в зависимости от того, что вы хотите).

  3. Добавьте ограничение по высоте, измените его отношение от = (equals) до < (less than) .

Вы закончили, код не нужен.

  CGSize maximumLabelSize = CGSizeMake(MAX_WIDTH, MAX_HEIGHT); CGSize expectedSize = [lbl sizeThatFits:maximumLabelSize]; CGSize s = CGSizeMake(STATIC_WIDTH, expectedSize.height); yourLabel.frame = CGRectMake(yourLabel.frame.origin.x, nameLbl.frame.origin.y, s.width, s.height); 

Swift 2 , из ответа Зиглцворта:

 let maximumLabelSize = CGSizeMake(maxWidth, maxHeight); let expectedSize = theLabel.sizeThatFits(maximumLabelSize) theLabel.frame = CGRectMake(theLabel.frame.origin.x, theLabel.frame.origin.y, expectedSize.width, expectedSize.height) 
 let lblMassage = UILable() lblMassage.text ="Resizing the height of UILabel to fit text.................." lblMassage.numberOfLines = 0 lblMassage.lineBreakMode = NSLineBreakMode.byTruncatingTail lblMassage.preferredMaxLayoutWidth = 190 lblMassage.sizeToFit() 
  • Как добавить интерактивные UILabels поверх UIImageView?
  • Текст в формате iOS Swift Wrapping Around Image
  • Blurry UILabel при добавлении программно
  • Как заставить UILabel нарисовать текст с помощью символов верхнего регистра?
  • UILabel не может стать первым ответчиком и показать inputView в UITableView
  • Можно ли добавить «украденный» слой UILabel к подуровню другого CALayer?
  • Как рассчитать ширину и высоту NSString на UILabel
  • Проверить усечение в UILabel - iOS, Swift
  • Справа налево UILabels
  • как создать сильное красное свечение на UILabel
  • Центрирование метки по вертикали в UINavigationBar TitleView
  • Interesting Posts

    Как проверить, включен ли Parallax

    Ошибка Xcode 6 'URLWithString' недоступна?

    Как использовать OpenGL ES sharegroup для совместного использования буфера визуализации для экранирования экрана на iPad?

    Всегда получать состояние SKPaymentTransactionStateПокупка In_app на iOS

    удалить файл на ftp-сервере из приложения iphone

    Как сделать UIImageView автоматически измененным на размер загруженного изображения

    iOS push-уведомление с убитым приложением – быстрое

    Есть ли какие-либо уведомления, чтобы до того, как приложение заполнило фон?

    Обозреватель UITextInput, для чего он используется?

    Многоуровневые контроллеры детского просмотра, где делегирование становится кошмаром – как они должны общаться друг с другом?

    Подключите платформу Objective C к Swift iOS 8 (Parse framework)

    как отправить изображение на веб-сервер

    Не удалось отправить несколько типов «|» через API Google Адресов через iOS

    Поддержка iPhone 6 и iPhone 6+ с различным изображением запуска / заставки для iPad Портрет и ориентация на ландшафт

    сравнить два массива и получить общие предметы

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.