現在、私のラベルの幅はデフォルトで 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ピクセルごとにテキストを次の行に移動する方法と
ラベルのサイズも高さで増加します。