テキストに応じてUILabelの高さを調整する 質問する

テキストに応じてUILabelの高さを調整する 質問する

次のようなテキストUILabel(長い行の動的テキスト)があるとします。

エイリアン軍の数はチームの数をはるかに上回っているため、プレイヤーはゴミ箱、柱、車、瓦礫などの後ろに隠れるなど、終末後の世界を有利に利用する必要があります。

テキストが収まるように高さを変更したいと思います。内のテキストを折り返すために、UILabel's次のプロパティを使用しています。UILabel

myUILabel.lineBreakMode = UILineBreakModeWordWrap;
myUILabel.numberOfLines = 0;

正しい方向に進んでいない場合はお知らせください。ありがとうございます。

ベストアンサー1

sizeWithFont constrainedToSize:lineBreakMode:使用する方法です。使用例を以下に示します。

//Calculate the expected size based on the font and linebreak mode of your label
// FLT_MAX here simply means no constraint in height
CGSize maximumLabelSize = CGSizeMake(296, FLT_MAX);

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

//adjust the label the the new height.
CGRect newFrame = yourLabel.frame;
newFrame.size.height = expectedLabelSize.height;
yourLabel.frame = newFrame;

おすすめ記事