1. ホーム
  2. ios

[解決済み] UITableViewCellの選択スタイルをカスタム化する?

2023-05-08 17:49:51

質問

自分の UITableViewCell をクリックすると、背景部分(背景画像で覆われていない部分)が青くなります。また、すべての UILabel はすべて白に変わります。

しかし、私がしたくないのは、それをクリックしたときに青い背景ですが、私がそれを行う場合は、次のようになります。 selectionstylenone とすると UILabel のハイライトされた色が失われます。

そこで、セルをクリックしたときの青い背景を取り除くだけで、ハイライトされた色である UILabel s?

どのように解決するのですか?

次のようにすればよいでしょう。 テーブルセルの選択スタイルを UITableViewCellSelectionStyleNone . これにより、青色の背景のハイライトが削除されます。 次に、テキストラベルのハイライトを思い通りに動作させるために、デフォルトの UITableViewCell クラスを使用する代わりに、そのサブクラスである UITableViewCell のサブクラスを作成し、デフォルトの実装をオーバーライドして setHighlighted:animated をオーバーライドして、ハイライトされた状態に応じて好きなようにラベルの色を設定する独自の実装にします。

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
    if (highlighted) {
        self.textLabel.textColor = [UIColor whiteColor];
    } else {
        self.textLabel.textColor = [UIColor blackColor];
    }
}