UITableViewCell内の標準ラベルの背景色をカスタマイズする方法は?

StackOverflow https://stackoverflow.com/questions/403820

  •  03-07-2019
  •  | 
  •  

質問

過去数時間、これを行う方法を探していますが、運がありません。 Googleを検索する場合、これにはいくつかの解決策が考えられますが、何も機能していないようです。

UITableViewCellに含まれる標準のUILabelの背景色をカスタマイズしようとしていますが(セル自体の背景色を既にカスタマイズしているため)、何も動作しないようです。

-tableView:cellForRowAtIndexPath:の色をカスタマイズするために独自のUILabelを作成しています:

UILabel* label = [[[UILabel alloc] init] autorelease];
label.textColor = [UIColor blueColor];
label.backgroundColor = [UIColor redColor];
label.opaque = YES;
[cell.contentView addSubview:label];
cell.text = @"Sample text here";

しかし、それは機能せず、結果のテーブルビューには、黒いテキストと白い背景のラベルが付いたセルの束がまだあります。

ここで間違っていることの手がかりはありますか?

更新:代わりに次のことをしようとした場合:

UILabel* label = [[[UILabel alloc] init] autorelease];
label.textColor = [UIColor blueColor];
label.backgroundColor = [UIColor redColor];
label.opaque = YES;
[cell.contentView addSubview:label];
label.text = @"Sample text here";

テキストがまったくないUITableViewCellsの束を取得します。

役に立ちましたか?

解決

ラベルではなくセルにテキストを割り当てているようです。おそらく必要です:

label.text = @"Sample text here";

また、ラベルのフレームを必要なものに設定する必要があります:

label.frame = CGRectMake(10,10, 80, 40);

またはコンストラクター内で直接:

label = [[UILabel alloc] initWithFrame:myFrame];

他のヒント

これはコードでは行いません。カスタムXIBファイルを使用して実行し、それを

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath

デリゲート関数。そうすれば、正確な仕様に合わせてXIBファイルを設計し、微調整できます。

がんばって!

以前にこの質問をしたことがあり、正しい答えを受け取った;

UITableViewCellの背景色をカスタマイズする方法

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top