sizeWithFont:constrainedToSize:lineBreakMode:
私に正しい幅が戻ってきていないようです。これらのコードが実行された後、私はラベル内の文字列の一部が切り取られていることを知っています。つまり、手動で数ピクセルをサイズに追加する必要があります。何か不足していますか?sizeWithFont:constrainedToSize:lineBreakMode:正確ではありませんか?
私はUILabelをしました:
theLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, LABELWIDTH, LABELHEIGHT)];
theLabel.lineBreakMode = UILineBreakModeWordWrap;
theLabel.numberOfLines = 0;
[theLabel setFont:[UIFont fontWithName:@"MarkerFelt-Wide" size:16]];
theLabel.textColor = [UIColor blackColor];
theLabel.textAlignment = UITextAlignmentLeft;
theLabel.backgroundColor = [UIColor clearColor];
私はプログラム的に以下のものを使用して、ラベルのサイズを変更してみました:私は言うよ
CGSize maximumLabelSize = CGSizeMake(LABELWIDTH, 10000);
CGSize expectedLabelSize = [someString sizeWithFont:theLabel.font constrainedToSize:maximumLabelSize lineBreakMode:theLabel.lineBreakMode];
theLabel.text = someString;
CGRect newFrame = theLabel.frame;
newFrame.size.height = expectedLabelSize.height;
newFrame.size.width = newFrame.size.width+50;
theLabel.frame = newFrame;
まず、 'someText'と' someString'は同じでなければなりません。彼らは同じNSStringを指していますか? – john
はいそうです。私はそれをより明確にするために変更を加えました。 – tommi
これはUITableViewCellの内部ですか? – john