2

現在、私のラベルの幅はデフォルトで 100 ピクセルです。

ラベルのテキストは動的に変化します

私の要件はそれです

ラベルのサイズはテキストごとに変更する必要があり、その幅は 300 ピクセルに制限する必要があります。

300 ピクセルの後、テキストは次の行に移動し、ラベルの高さをインクリメントする必要があります。

このシナリオを達成する方法..

self.messageLabel = [[UILabel alloc] init];

self.messageLabel.frame = CGRectMake(0, 0, 100, 20);

self.messageLabel.textAlignment = NSTextAlignmentCenter;
self.messageLabel.font = [UIFont boldSystemFontOfSize:16];

messageLabel.numberOfLines = 0;
messageLabel.lineBreakMode = NSLineBreakByWordWrapping;

[self.view addSubview:messageLabel];

テキストサイズを取得するには:

CGSize labelSize = [self.messageLabel.text sizeWithFont:self.messageLabel.font];

そして、テキストごとにラベルの幅を変更できます

self.messageLabel.frame = CGRectMake(0, 0, self.frame.size.width-10, 20);

しかし、300ピクセルごとにテキストを次の行に移動する方法と

ラベルのサイズも高さで増加します。

4

1 に答える 1