Pertanyaan Apa sebenarnya maksud dari tableView: sectionForSectionIndexTitle: atIndex :?


Dokumentasi tidak benar-benar jelas tentang hal ini. Mengapa UITableViewDataSource diminta untuk memberikan indeks bagian untuk judul bagian-bar indeks?

Maksud saya ... kasus penggunaan apa yang membuat metode ini penting? Kapan ini disebut dan mengapa?


8
2018-04-12 19:00


asal


Jawaban:


Pada dasarnya, ini mendefinisikan bagian mana tampilan tabel bergeser ke ketika Anda mengklik pada judul indeks bagian yang ditentukan. Katakanlah Anda mendefinisikan judul indeks Anda sebagai huruf A sampai Z, tetapi Anda sebenarnya tidak memiliki item untuk setiap huruf. Di -tableView:sectionForIndexTitle:atIndex:, Anda akan menentukan berikutnya bagian yang memiliki item.


16
2018-04-13 12:38



Ini situs web memiliki jawaban yang bagus:

sectionIndexTitlesForTableView: Agar dapat merender indeks dengan benar, UITableView perlu mengetahui semua judul indeks yang akan ditampilkan. Metode ini mengembalikan serangkaian string yang berisi semua indeks. Dalam kasus kami, A, B, C, D, dll.

sectionForSectionIndexTitle: Saat Anda mulai menggulir indeks, tabel perlu mengetahui seberapa jauh ke bawah / ke atas untuk menggulir sehingga huruf yang Anda sentuh sesuai dengan bagian yang sesuai dalam tabel. Metode ini mengembalikan nilai indeks (integer) dari bagian yang sedang Anda sentuh di indeks.


4
2018-04-05 01:15



Metode yang Anda tanyakan tentang "-tableView: sectionForSectionIndexTitle: atIndex:" menghubungkan 2 (di bawah) daftar terkait, mengenai populasi data gaya sederhana UITableView.

1 daftar: TableView-Bagian-Judul-Daftar 《TVSTL》, di "Kontak Aplikasi", itu disusun / diurutkan oleh orang-orang LastNames. Header bagian ini muncul di sisi kiri layar.

2 daftar: Indexed-List-Judul 《ILT》, biasanya ditampilkan di sisi kanan layar, itu bisa menjadi kelompok indeks yang acak tentang bagian-bagian di atas. Daftar ini untuk diketuk pengguna, berfungsi seperti bilah gulir.

Dokumentasi iOS tidak terlalu jelas tentang 2 daftar ini, karena 《TVSTL》 cantuman saat ini bisa lebih besar ATAU lebih kecil dari 《ILT》, tidak ada batasan pada daftar mana yang lebih panjang. 

Dan "Kontak APP" adalah contoh yang buruk untuk menunjukkan titik kritis ini ... kecuali Anda memiliki sangat sedikit nama orang (katakanlah kurang dari 10), atau jika Anda memiliki nama orang Cina-karakter, yang tidak memiliki judul, tetapi dikelompokkan menjadi beberapa bagian, dan bagian-bagian itu TIDAK dapat diindeks.

Oleh karena itu, ketika 2 daftar tersebut tidak cocok, "-tableView: sectionForIndexTitle: atIndex:" menyediakan solusi tentang gerakan pengguliran TableView berikutnya.

Dokumen Apple tentang "Mengisi Daftar Terindeks" menjelaskan penerapan yang disarankan secara detail, tetapi agak tidak praktis (menggunakan 4 For-loop, 5 Array). Jika Anda tidak ingin "Membuat Tampilan Tabel Secara Terprogram", Anda dapat melewati kode tersebut, jika tidak, mereka ada dalam Listing 4-5, Listing 4-6, Listing 4-7, Listing 4-8, Listing 4-9 dari Panduan Pemrograman Tampilan Tabel untuk iOS 


0
2018-06-17 08:02