Soalan adalah seperti yang ditunjukkan dalam tajuk.
Senario: Tableviewcell semasa terdiri daripada tiga paparan dan ditambahkan pada cell.contentView. Apabila menyegarkan, saya hanya perlu menyegarkan kandungan dalam satu paparan salah satu sel.
Tetapi apabila kaedah sel muat semula dilaksanakan, ketiga-tiga paparan dimuat semula bersama-sama, menyebabkan paparan dengan data yang tidak berubah berkelip.
Bagaimana anda boleh mengoptimumkan senario ini?
Jika anda menggunakan
self.tableView reloadRowsAtIndexPaths: withRowAnimation:
刷新会闪,考虑是否是 布局改变了,检测下layoutSubviews
, atau mencipta semula paparan, paparan ini agak mahal, optimumkan FPS dan ketinggian sel cacheadalah apa yang dipanggil
reloadRowsAtIndexPaths
untuk melaksanakan penyegaran. Apabila layoutSubviews dipanggil semasa muat semula, reka letak tidak berubah. Saya menetapkan susun atur paparan pada mulanya, dan menyegarkan nilai kawalan yang diluluskan dalam model.Pengoptimuman pemaparan tak segerak telah dilakukan dan ketinggian setiap sel ditetapkan.
Anda perlu mengawalnya melalui sumber data Jangan fikirkan pandangan sahaja Data berkaitan dengan penggunaan semula sel