Как рассчитать ширину UILabel на основе длины текста?

Я хочу отобразить изображение рядом с UILabel, однако UILabel имеет переменную длину текста, поэтому я не знаю, где разместить изображение. Как мне это сделать?

137
задан Jakub Truhlář 1 March 2018 в 11:19
поделиться

1 ответ

CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font 
                        constrainedToSize:maximumLabelSize 
                        lineBreakMode:yourLabel.lineBreakMode]; 

Что - [NSString sizeWithFont: forWidth: lineBreakMode:] подходит для?

на этот вопрос может быть ваш ответ, у меня это сработало.


В 2014 году я редактировал эту новую версию, основываясь на очень удобном комментарии Норберта ниже! Это все делает. Ура

// yourLabel is your UILabel.

float widthIs = 
 [self.yourLabel.text
  boundingRectWithSize:self.yourLabel.frame.size                                           
  options:NSStringDrawingUsesLineFragmentOrigin
  attributes:@{ NSFontAttributeName:self.yourLabel.font }
  context:nil]
   .size.width;

NSLog(@"the width of yourLabel is %f", widthIs);
189
ответ дан 23 November 2019 в 23:31
поделиться