UILabel-ワードラップテキスト


150

必要に応じてラベルの折り返しテキストを付ける方法はありますか?改行をワードラップに設定してあり、ラベルは2行に十分な高さですが、改行でのみ折り返すようです。正しく折り返すために改行を追加する必要がありますか?横に収まらない場合は折り返して欲しいです。

回答:


301

あなたが設定した場合はnumberOfLines0(ワードラップにラベル)に、必要に応じて、ラベルが自動的に行の多くとしてラップして使用します。

UILabelIBでa を編集している場合、option+ return を押して改行することで複数行のテキストを入力できます- return単独で編集が終了します。


124
私のような初心者を明確にするために、これは次のようになります。cell.textLabel.numberOfLines = 0; cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
Brian Moeskau、2010年

46
iOS 6以降ではNSLineBreakByWordWrapping、ではなくを使用しますUILineBreakModeWordWrap
アーロンブラジャー2013

3
以下も必要になる場合があります。label.autoresizingMask = UIViewAutoresizingFlexibleHeight;
ウィリアムグランド

6
label.lineBreakMode = .ByWordWrappingそして label.numberOfLines = 0迅速で
AFraser

9
これが(私のように)自明ではない人のために:UILabelは、(実際の幅制約またはマージン制約からの)幅になんらかの制限を設ける必要があります。そうしないと折り返されません。
jcady 2016年

27

UILabellineBreakMode要件に応じて設定できるプロパティがあります。


11
「改行をワードラップに設定しています」。これは実際の改行でのみ折り返され、長くなると自動的に改行されません。
Codezy

19

Swiftでは、次のようにします。

    label.lineBreakMode = NSLineBreakMode.ByWordWrapping
    label.numberOfLines = 0

(lineBreakMode定数の動作はObjCとは異なることに注意してください)


それがどのように違うかについて詳しく説明しますか?
マイク

ただネーミングが違うだけなのだと思います。おそらくswift3で再び変更されました
Nathan

改行モードはワードラップに設定する必要があります
MobileMon

@MobileMoninいつもそうとは限らない私の経験。多分IBはそれをいくつかの状況で変更しますか?
ネイサン

label.lineBreakMode = NSLineBreakByWordWrapping in Obj C
Nupur Sharma

2

Xcode 10、Swift 4

ラベルのテキストの折り返しは、ストーリーボードでラベルを選択し、属性インスペクターを使用して行うこともできます。

= 0 改行 = ワードラップ

ここに画像の説明を入力してください


2
ビューに直接追加するbranBrand-Newラベルを使用すると、行を0に設定し、改行をワードラップに設定しても、1行のラベル(電話の幅より大きい幅)が生成されます。必要になる可能性のある別の設定はありますか?追加のコードを添付する必要がありますか?
phihag
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.