[解決済み] 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];
}
}
関連
-
クラッシュエラー libc++abi.dylib: NSException 型のキャッチできない例外で終了_allanGold のブログ - ProgrammerITS401
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] Objective-Cでデリゲートを作成するにはどうしたらいいですか?
-
[解決済み] Xcodeにおけるバージョンとビルドの比較
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] UITableViewCell、スワイプ時に削除ボタンを表示させる
-
[解決済み] UITextViewのサイズをコンテンツに合わせるには?
-
[解決済み] UITableView Cell selected Color?
-
[解決済み】iOS 7 ナビゲーションバーのテキストと矢印の色
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 制約条件の変更をアニメーションで表現するには?
-
[解決済み] App Storeのアプリと連動させる方法
-
[解決済み] 奇妙な不要なXcodeログを隠す
-
[解決済み] Objective-Cで文字列が空かどうかをテストするにはどうすればよいですか?
-
[解決済み] CocoaPodsの最新バージョンにアップデートしますか?
-
[解決済み] Swift 3, 4, 5 で dispatch_after GCD を書くにはどうしたらいいですか?
-
[解決済み] UILabelで複数行のテキストを表示する
-
[解決済み] インポート vs #インポート - iOS 7
-
[解決済み] Swiftで配列に要素を追加する
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。