詳細ビューから戻すときに前回選択したセルまたはユーザーがアイテムを作成したときに新しく追加されたセルの選択を解除するテーブルビューがあります。リロードテーブルビューのデータとセルの選択解除
ただし、新しい項目が追加されることがあるので、reloadData
をviewWillAppear:
に呼び出してテーブルをリフレッシュします。これは、たとえ私がself.clearsSelectionOnViewWillAppear = NO
を持っていても、ビューが表示されてもセルが選択されていないことを意味します。
後の細胞を選択すると、選択解除して、テーブルビューは(viewDidAppear:
で)ディセレクトアニメーションのタイミングを表示されます(あなた自身のためにしてみてください、それは遅くだと滑らかなように感じていない)ユーザーに目に見えて異なっています。
テーブルビューを更新した後でも選択を保持する方法はありますか? (状況に応じて、以前に選択したセルまたは新しく作成されたセルの選択を解除することを念頭に置いてください)どういうわけか、テーブル内のデータを別の方法で再ロードする必要がありますか?
感謝を返信するために:
また、変更されている行のみをリロードできます。方法1の場合、行の選択を解除するメソッドはどこに追加する必要がありますか?私が言及したように、 'viewDidAppear:'でそれを追加することは、標準のビヘイビア(連絡先アプリ)よりも目に見えるように見えます(アニメーションの選択解除は遅くなります)。 テーブルビューコントローラの 'viewWillAppear:'で 'reloadData'を呼び出すため、メソッド2が動作しません。ユーザーには、選択解除アニメーションが表示されません。 テーブルビューでデータを更新する方が良いですか?更新されたデータを表示する必要があるだけでなく、選択解除のアニメーションも必要です。 – James
テーブル全体ではなく変更された行だけをリロードするとどうなりますか? –
私はより多くの情報で私の答えを更新しました。 –