UILabel
iOSのインターフェイスビルダーで複数行を作成するにはどうすればよいですか?私は試しましたUITextView
が、それは私のニーズに完全には合いませんでした。
ラベルに複数行(テキスト)を追加するにはどうすればよいですか?
n
。代わりに0(無限のソート)に設定します。以下のvijayの答えを確認してください。
UILabel
iOSのインターフェイスビルダーで複数行を作成するにはどうすればよいですか?私は試しましたUITextView
が、それは私のニーズに完全には合いませんでした。
ラベルに複数行(テキスト)を追加するにはどうすればよいですか?
n
。代わりに0(無限のソート)に設定します。以下のvijayの答えを確認してください。
回答:
ラベルに含めることができる最大行数numberOfLines
を定義するプロパティを使用できます。デフォルトではです。に設定すると、ラベルの行数が無制限になります。1
0
あなたはコードでそれを行うことができます:
textLabel.numberOfLines = 5 // for example
またはInterface Builderで:
width
、あなたのレーベルは何ですか?
ヒットControl+ EnterInterface Builderを/ストーリーボードでUILabelに行を追加します。
AppleVijay、ありがとう!
次のように、sizeToFitを呼び出すこともできます。
label.lineBreakMode = UILineBreakModeWordWrap;
label.numberOfLines = 0;
[label sizeToFit];
高さは自動的に計算されます。
必要に応じてラベルの幅を小さく設定してから、IBを使用して改行をワードラップに設定します
またはこのようなコードで使用する
解決策を見つけました。
次のコードを追加するだけです。
textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;
動的テキスト情報の行数をゼロに設定します。テキストが変化する場合に役立ちます。
プログラム的に(Swift 3)
var label = UILabel()
let stringValue = "iOS\nmultiline\nlabel\nin\nInterface\nbuilder"
label.text = stringValue
label.numberOfLines = 0 // Set 0, if number of lines not specified.
label.lineBreakMode = .byTruncatingTail // or .byWrappingWord
label.minimumScaleFactor = 0.8 . // It is not required but nice to have a minimum scale factor to fit text into label frame
Inetrface Builderの使用
注:を設定する必要はありませんMinimum Font Scale
が、テキストをラベルフレームに合わせるための最小の倍率を設定しておくと便利です。
textLabel.lineBreakMode = UILineBreakModeWordWrap;
textLabel.numberOfLines = 0;
CGSize size = [[[arrNewsFeed objectAtIndex:row] objectForKey:@"c"] sizeWithFont:[UIFont systemFontOfSize:14.0] constrainedToSize:CGSizeMake(188, CGFLOAT_MAX)
lineBreakMode:NSLineBreakByTruncatingTail];
textLabel.frame = (CGRect){.origin = cell.lblNewsDescription.frame.origin, .size = size};
私は長い間これに苦労してきました。ラベルテキストを2行目に表示したかっただけです。しかし、私が何をしても、UILabelボックスがオーバーフローするだけです。私にとっては、サイズインスペクタで自動サイズ変更を変更することができました。簡単な修正。
同様の何かを探している人が役に立つと思うかもしれません。