質問

私のアプリでは、私はcustomViewCellsとテーブルビューを持っています。私は、UITableViewCellのクラスをサブクラス化し、非同期ロードするイメージを追加し、テキストのために私はcell.textLabel.text = @"someThext"を使用します。

セルの背景色は[UIColor darkGrayColor][UIColor whiteColor]する代わりに設定されている。

私は、セルのtextLabelシミュレータでと電話でアプリを実行すると、

白い背景を持っています。私はその後、白ではないストリップいっぱいにするために、セルの背景色をしたいので、私は、それが明確になるように設定したいし、別のストリップます。

私のカスタムセルのinitメソッドでは、私は白が赤に変わりますことを期待して、追加しましたが、それは何の効果もありません。

[self.textLabel setBackgroundColor:[UIColor redColor]];

私も試みます:

self.textLabel.backgroundColor = [UIColor redColor];

しかし、これもうまくいきませんでした...私はサブビューとしてUILabelを追加した場合、私は携帯電話を回転させたときに、私は私のしたいので、ラベルの背景色を設定することができますが、私はそれを行うにはしたくありません自動拡大ラベルます。

任意のアイデアなぜcell.textLabelの背景色を設定することはできません?

ありがとうございます。

役に立ちましたか?

解決 2

の問題は、のUIKitは-setSelected方式のセルの背景色を設定することです。私はこの方法があったが、self.textLabel.backgroundColor = [UIColor clearColor]を持っていませんでした。 self.detailTextLabel.backgroundColor = [UIColor clearColor]。その中で私はそれらを追加し、写真のような問題を修正しました。

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
    self.textLabel.backgroundColor = [UIColor clearColor];
    self.detailTextLabel.backgroundColor = [UIColor clearColor];
}

他のヒント

あなたはちょうどこれを追加することができますUITableViewCellのサブクラス化したくない場合:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
     [[cell textLabel] setBackgroundColor:[UIColor clearColor]];
     [[cell detailTextLabel] setBackgroundColor:[UIColor clearColor]];
}

Appleはここで何かが変わったように見えます。 iOS4を正確にこれを行うと、動作します。

self.textLabel.backgroundColor = [UIColor xxxColor];
self.detailTextLabel.backgroundColor = [UIColor xxxColor];

少なくとも、ラベルの背景が透明であるか、背景色を取る点まで。まだ、可能性は、独自の背景色を設定します。

あなたは、ベースSDK 4.1と分で開発する場合、これはテスト中に固定されているが、少し意外なことに、

ニース。 iPhone古典とiPadの展開3.1。

あなたはclearColorを使用することができます明確な背景色を設定するには:

    [[cell textLabel] setBackgroundColor:[UIColor clearColor]];

これはあなたが何を意味するかですか?

この記事を参照してください。私はUITableViewCellSelectionStyleを設定するにはどうすればよいですいくつかのカスタムカラーへのプロパティですか

あなたのケースでちょうど白い背景色でのUIViewを使用する

私はそれを試してみたが、ここでの推測だしませんでした...速いラベルの不透明な性質を描くためにはデフォルトでtrueに設定されることがあります。

試してみてください。

cell.titleLabel.opaque = NO;
cell.titleLabel.backgroundColor = [UIColor clearColor];
それはどちらか動作しない場合は、

私はおそらくこの時点であきらめ、セルのための私自身のUILabelを作成することになります。

あなたがこれを行う必要がありtextlabelの色を設定するには: t.textColor = [UIColor colorYouWantRGB];

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