UITableViewCellは、セルがハイライト表示されているとき(ユーザーがセルにタッチしたとき)、contentView階層のコンテンツを変更します。私が今までに見つけたハイライトイベントでUITableViewCellの文書化されていない動作を明確にする
二つの例:
- 背景色でセルのcontentViewでのUIViewを置きます。その表のセルがハイライト表示されている場合は、そのUIViewの背景色が削除されます(背景がはっきりと設定されているようです)。
- UIButtonをcontentViewに配置します。セルが強調表示されると、ボタンも強調表示された状態になります。
セルの階層内のすべてのビューを検査し、神秘的な一連のルールに従ってそれらを変更するのUITableView細胞におけるいくつかのロジックがありますかのように、細胞が非強調表示されたらそれは、その後、正常に戻ってそれらを復元しています。
私のカスタムテーブルビューのセルのコンテンツでUITableViewCellが(予期せず、文書化されていない方法で)何を変更しているのか説明できますか?
ありがとうございます!
ありがとうございます。これは部分的なドキュメントにすぎませんが、任意のUIView backgroundColorプロパティもクリアに変更された方法については説明していませんので、間違いなく不完全な説明です。私はそれが答えに変わるすべてのものを手に入れたいです。しかし、setHighlighted:animated:とsetSelected:animated:をオーバーライドしてカスタムハイライト/選択状態を実装するソリューションは、オーバーライドでsuperメソッドを呼び出さないことで、混在/文書化されていないハイライトの変更を完全に防ぐことができます自分ですべてをやります。 – Yetanotherjosh