アプリに素敵なアコーディオン効果を実装しようとしています。私の目標は、ユーザーがセルをタップしたときにセルを「開き」、セルの高さが増すにつれて追加のコンテンツ (テキストなど) を表示することです。そのための完璧なサンプル コードは、Apple が提供する TableView Animations & Gestures サンプル コードです。しかし、私は全体の効果を台無しにする奇妙な動作を経験しています。
テーブルビューがセルを表示する順序 (上 --> 下または下 --> 上) に応じて、セルのテキストビューが互いに重なるか重ならないように見えます。言葉で説明するのは少し難しいので、画像で説明します。
これらのスクリーンショットは、TVAnimationsGestures サンプル コードから取得したもので、変更を加えていません。これは、ストーリーボードのないサンプル コードの最初のバージョンからのものです。
ストーリーボードを含むバージョンは、最初はうまく動作しましたが、しばらくすると、コードに触れなくても次のように描画され始めました。
そして、カスタムセルのカスタムに正確な問題があります。
問題の原因を理解するのに少し時間がかかりました。セルが上セルから下セルに描画される場合、そのような問題はありません。ただし、セルが下から上に描画されると、それらは逆に積み重なるため、互いに重なります。この行動を制御することは不可能だと思います。私にヒントを与えたのは、下にスクロールして一番上のセルを強制的に再描画すると、実際にはうまく再描画され、画面は次のようになるということです。
重なり合うセルと「良い」セルの混合。
繰り返しますが、これはすべて Apple のサンプル コードから直接得たもので、変更はありません。何が起こっているのか知っている人はいますか?
どうもありがとうございました。