Sel tableView ditambahkan untuk mengira ketinggian sel dan memanggil kaedah proksi, yang dikembalikan kepada pengawal paparan
Apabila pelayan mengembalikan sumber data, muat semula tableView.
Walau bagaimanapun, indexPaht cellForRowIndexPath yang dilaksanakan pada masa ini bermula dari baris keempat,
Beberapa yang pertama dilangkau,
Saya cuba menulis ketinggian sel sebagai nilai tetap,
Hasilnya adakah bilangan sel adalah normal
Apakah masalahnya?
Sepatutnya pengiraan ketinggian adalah ketinggalan.
Turutan paparan tableView adalah kira-kira:
Minta
sectionNumber
dannumberForSection
untuk mendapatkan bilangan bahagian dan sel yang ada.Minta
heightForRow:atIndexPath
untuk mendapatkan ketinggian sel yang akan dipaparkan pada antara muka.kemudian meminta
cellForRow
untuk mendapatkan tika sel ini.Kemudian tetapkan ketinggian sel, dsb. Selepas susun atur, panggil kaedah panggil balik seperti
willDisplay
dan kemudian paparkannya pada antara muka.Jadi apabila anda memuat semula tableView, bahagian ketinggian hendaklah diproses dengan terlebih dahulu mengira ketinggian sel berdasarkan sumber data dan bukannya membiarkan tika sel mengiranya dan kemudian memanggil semula kepada pengawal. Sudah tentu, anda juga boleh mengira dalam sel Contohnya, terdapat kaedah kelas dalam sel, yang dikira berdasarkan data sel masuk, dan pengawal secara aktif memanggil kaedah ini. Kod anggaran adalah seperti berikut:
Dalam kelas pelaksanaan perwakilan pengawal atau tableView:
MyTableViewCell: