Adalah mungkin untuk me-refresh tunggal UITableViewCell di UITableView?
Saya punya kebiasaan UITableView
menggunakan UITableViewCell ini. Masing-masing
UITableViewCellmemiliki 2 tombol. Mengklik tombol ini akan mengubah gambar dalam
UIImageView` dalam sel.
Adalah mungkin untuk me-refresh setiap sel terpisah untuk menampilkan gambar baru? Setiap bantuan sangat dihargai.
176
9
Setelah anda memiliki indexPath ponsel anda, anda dapat melakukan sesuatu seperti:
Dalam Xcode 4.6 dan lebih tinggi:
Anda dapat mengatur apa pun yang anda suka sebagai efek animasi, tentu saja.
Saya mencoba menelepon
-[UITableView cellForRowAtIndexPath:]
, tapi itu tidak't bekerja. Tapi, berikut ini bekerja untuk saya misalnya. Akualokasi
danrilis
theNSArray
ketat untuk manajemen memori.Swift:
reloadRowsAtIndexPaths:
baik-baik saja, tapi masih akan memaksaUITableViewDelegate
metode untuk api.Pendekatan paling sederhana yang bisa saya bayangkan adalah:
It's penting untuk memanggil anda
configureCell:
implementasi di thread utama, seperti ini tidak akan bekerja pada non-UI benang (cerita yang sama denganreloadData
/reloadRowsAtIndexPaths:
). Kadang-kadang ini mungkin bisa membantu untuk menambahkan:It's juga layak untuk menghindari pekerjaan yang akan dilakukan di luar saat ini terlihat tampilan:
Jika anda menggunakan custom TableViewCells, generik
tidak efektif menjawab pertanyaan ini kecuali anda meninggalkan tampilan saat ini dan datang kembali. Begitu juga dengan jawaban pertama.
Untuk berhasil reload tabel pertama melihat sel tanpa beralih views, gunakan kode berikut:
Masukkan kode berikut refresh metode yang panggilan untuk metode di atas agar anda dapat kustom reload hanya sel bagian atas (atau seluruh meja jika anda inginkan):
Sekarang bahwa anda memiliki yang diurutkan, dalam
viewDidLoad
tambahkan berikut:Anda sekarang memiliki custom refresh tabel fitur yang akan reload atas sel. Untuk reload seluruh tabel, tambahkan
[mandiri.tableView reloadData];
anda baru refresh metode.Jika anda ingin memuat ulang data setiap kali anda beralih pandangan, menerapkan metode:
Swift 3 :
Hanya untuk update ini jawaban sedikit dengan yang baru literal sintaks di iOS 6-anda dapat menggunakan Jalur = @[indexPath] untuk satu objek, atau Path = @[indexPath1, indexPath2,...] untuk beberapa objek.
Secara pribadi, saya've ditemukan literal sintaks untuk array dan kamus untuk menjadi sangat berguna dan besar penabung waktu. It's hanya lebih mudah untuk membaca, untuk satu hal. Dan hal ini menghilangkan kebutuhan untuk sebuah nihil pada akhir setiap multi-daftar objek, yang selalu menjadi pribadi bugaboo. Kita semua memiliki kincir angin untuk memiringkan dengan, ya? ;-)
Hanya pikir saya'd melempar ini ke dalam campuran. Semoga membantu.
Saya perlu meng-upgrade ponsel tetapi saya ingin menutup keyboard. Jika saya menggunakan
keyboard hilang
Berikut ini adalah UITableView dengan ekstensi Swift 5:
Panggilan dengan