一尘不染

如何根据文本长度计算UILabel宽度?

swift

我想在UILabel旁边显示图像,但是UILabel具有可变的文本长度,所以我不知道将图像放置在哪里。我该怎么做?


阅读 315

收藏
2020-07-07

共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);
2020-07-07