web-dev-qa-db-ja.com

UILabelの最大幅を制限するにはどうすればよいですか?

UIViewの中央にnicknameLabelという名前のUILabelがあり、nicknameLabelの後に性別の画像を追加します。

ただし、nicknameLabelに大量のテキストが含まれていると、UIViewの範囲を超えてしまいます。

enter image description here

では、UILabelの最大幅を制限するにはどうすればよいですか?

ところで:私はストーリーボードを使用しています。ありがとう。

14
backslash112

ラベルに次のような<=制約を付けます。

enter image description here

37
backslash112

次のcodeを使用し、widthboundingRectWithSize値に設定します。

CGSize itemTextSize = [@"Your Text" boundingRectWithSize:CGSizeMake(100, 30) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : [UIFont fontWithName:@"Helvetica Neue" size:12.5]} context:nil].size;
3
Abhishek Sharma

制約を使用している場合は、ラベルからすべての制約を削除します。

enter image description here

次に、ラベルのフレームを再度設定します。複数行のラベルを作成する場合は、行数を1から0に設定し、ラベルの高さを増やします。

enter image description here

OR

ラベル内にテキストを収めたい場合。自動縮小プロパティを有効にするだけです。

enter image description here

2
abhishekkharwar