1. ホーム
  2. ios

[解決済み] テキストの長さに基づいてUILabelの幅を計算する方法は?

2022-05-10 04:51:54

質問

UILabelの横に画像を表示したいのですが、UILabelはテキストの長さが可変なので、画像をどこに配置すればいいのかわかりません。どうすればいいのでしょうか?

どのように解決するのですか?

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

NSString sizeWithFont:forWidth:lineBreakMode:] は何のためにあるのですか?

この質問にはあなたの答えがあるかもしれません。


2014年は、下のNorbertさんの超便利なコメントを参考に、この新バージョンで編集しました! これで全て解決です。乾杯

// 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);