-1

UITableViewセルのフォントのサイズを変更したい。タイトルが長すぎる場合、textLabelは分割されます。

たとえば、ラベルの長さが20文字を超える場合、フォントのサイズを変更するにはどうすればよいですか?私は思った:

NSString *cellText = cell.textLabel.text;
if (cellText.length > 20){
    cellText = [UIFont systemFontOfSize:11.0];
}

しかし、クラッシュするため、何か問題があります。

何か案は?

4

3 に答える 3

1

cellTextはであり、ポインタをにNSString設定している場合はUIFont、次のようにフォントをに設定する必要があります。NSStringtextLabel

NSString *cellText = cell.textLabel.text;
if (cellText.length > 20){
    cell.textLabel.font = [UIFont systemFontOfSize:11.0];
}

問題がない場合は、クラッシュログも投稿してください。

于 2012-05-23T13:08:55.367 に答える
0

このためのコードは必要ありません!

インスペクターで:

  • フォントサイズを設定する
  • 最小フォントサイズを設定する
  • そして、「ぴったり合う」をチェックします
于 2012-05-23T13:12:55.417 に答える
0
NSString *cellText = cell.textLabel.text;    

UILabel *cellLabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 2, 300, 20)];
cellLabel.text =cellText;
cellLabel.adjustsFontSizeToFitWidth = NO;
cellLabel.numberOfLines = 0;
[cellLabel setBackgroundColor:[UIColor clearColor]];
[cellLabel setFont:[UIFont fontWithName:@"Arial" size:14.0f]];
cellLabel.textAlignment = UITextAlignmentLeft;       
[cell.contentView addSubview:cellLabel];
[cellLabel release];
于 2012-05-23T13:44:50.753 に答える