Pertanyaan Kapan menggunakan UICollectionView, bukan UITableView?


Saya menemukan itu UICollectionView seperti versi yang ditingkatkan UITableView diperkenalkan di iOS6, tetapi kapan saya harus memilih UICollectionView dari pada UITableView?

Masih ada Aplikasi yang menggunakan UITableView, jika UICollectionView bisa melakukan apapun UITableView bisa lakukan, mengapa orang masih menggunakannya UITableView? Apakah ada perbedaan sejauh menyangkut kinerja?

Terima kasih!


76
2018-04-15 08:52


asal


Jawaban:


Itu tergantung pada persyaratan. Bagaimana aliran aplikasi menentukan jenis UI mana yang akan diintegrasikan ke dalam aplikasi.

Orang-orang terutama menggunakan UICollectionview untuk membuat jenis UI dengan banyak gambar yang ditampilkan dalam kotak. Ini akan menggunakan logika kompleks UITableView, tetapi dengan UICollectionview, itu akan mudah.

Ketika menggunakan UICollectionview, Anda tidak perlu mengatur tombol dengan tag atau hal lain dengan mendapatkan nilai item yang dipilih. Anda bisa mendapatkannya -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath dan masuk UITableViewDelegate:

`-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath`

Anda mendapatkan baris yang dipilih alih-alih item, jadi untuk membuat kisi atau item yang dimodifikasi, gunakan UICollectionview paling baik.

Untuk rincian daftar setiap item, gunakan orang UITableView karena ini menunjukkan info lebih lanjut tentang setiap item.

Apple Docs:

Referensi Kelas UICollectionView

Kelas UICollectionView mengelola kumpulan data yang dipesan dan menyajikannya menggunakan tata letak yang dapat disesuaikan. Tampilan koleksi menyediakan fungsi umum yang sama seperti tampilan tabel kecuali bahwa tampilan koleksi mampu mendukung lebih dari hanya tata letak satu kolom. Tampilan koleksi mendukung tata letak yang dapat disesuaikan yang dapat digunakan untuk menerapkan kisi multi-kolom, tata letak berubin, tata letak melingkar, dan banyak lagi. Anda bahkan dapat mengubah tata letak tampilan koleksi secara dinamis jika Anda mau.

Referensi Kelas UITableView

Tampilan tabel menampilkan daftar item dalam satu kolom. UITableView adalah subkelas dari UIScrollView, yang memungkinkan pengguna untuk menggulir melalui tabel, meskipun UITableView hanya memungkinkan gulir vertikal. Sel-sel yang terdiri dari item-item individual dari tabel adalah objek UITableViewCell; UITableView menggunakan objek-objek ini untuk menggambar baris-baris yang terlihat dari tabel. Sel memiliki konten — judul dan gambar — dan dapat memiliki, di dekat tepi kanan, tampilan aksesori. Tampilan aksesori standar adalah indikator pengungkapan atau tombol pengungkapan detail; yang pertama mengarah ke tingkat berikutnya dalam hirarki data dan yang terakhir mengarah ke tampilan terperinci dari item yang dipilih. Tampilan aksesori juga dapat berupa kontrol kerangka kerja, seperti switch dan slider, atau dapat berupa tampilan khusus. Tampilan tabel dapat memasuki mode pengeditan di mana pengguna dapat menyisipkan, menghapus, dan menyusun ulang baris tabel.


62
2018-04-15 09:02



Untuk daftar sederhana dan navigasi ke depan / belakang, gunakan UITableView.

Jika Anda memerlukan tingkat penyesuaian yang tinggi, gunakan UICollectionView.

Secara umum, dalam pengembangan perangkat lunak, lebih baik untuk memilih pendekatan yang mewakili "The Thing Kemungkinan Paling Sederhana".


26
2018-04-15 09:00



Inilah kriteria saya:

  • Jika UITableView dapat melakukannya, gunakan

  • Jika UITableView membutuhkan banyak kode untuk melakukannya atau tidak dapat melakukannya sama sekali, gunakan UICollectionView.

Anda harus mempertimbangkan pembatasan pada UITableView sebelum membuat keputusan: Ini adalah kolom tunggal. Dan Anda hanya dapat menyesuaikan sel, tetapi tidak bagian latar belakang dan semacamnya. Jadi jika Anda memiliki daftar langsung tanpa embel-embel tambahan - yang terlihat seperti tampilan iOS rawa standar, pada dasarnya - kemudian gunakan UITableview. Jika Anda memiliki insets kustom, atau perbatasan di sekitar setiap bagian, gunakan UICollectionView.

Saya sebenarnya mempertimbangkan UICollectionView untuk semua hal hanya karena sangat mahal ketika Anda mulai mengembangkan tampilan Anda sebagai tampilan tabel, lalu kemudian mengetahui bahwa itu tidak dapat melakukan satu hal yang perlu Anda lakukan. Pengalaman tangan pertama;)

Edit setelah lebih banyak pengalaman dengan keduanya: Abaikan paragraf terakhir itu. UICollectionView membutuhkan banyak kode boilerplate untuk membuatnya berfungsi seperti UITableView. Gunakan UICollectionView hanya ketika benar-benar diperlukan. ;)


24
2017-08-22 11:51



Menurut sudut pandang saya perbedaan utama antara collectionView dan tableView adalah itu

TABLEVIEW -> tampilkan daftar item hanya dalam satu kolom.

COLLECTION-VIEW -> tampilkan daftar item dalam banyak kolom.

Semoga ini akan membantu Anda.


10
2018-04-15 16:09



Jika Anda memilih UITableView untuk iPhone, pastikan Anda telah mempertimbangkan strategi iPad Anda terlebih dahulu. Jika Anda menginginkan tata letak khusus iPad, Anda mungkin ingin tata letak satu kolom tersebut menjadi kotak.


10
2018-04-07 21:40



Meskipun tidak diperlukan, saya selalu menggunakan collectionview. Dengan cara itu saya dapat dengan mudah menyesuaikan bagaimana koleksi saya disajikan untuk berbagai resolusi. Nilai plus adalah bahwa itu siap untuk dengan cepat menambahkan jenis sel baru ketika refactoring di masa depan.

Saya tidak melihat point of tableview. Sangat mudah menggunakan tampilan koleksi untuk mewakili tabel. IMO.


5
2017-12-13 22:17



Keduanya tergantung pada persyaratan. Tampilan Tabel juga memiliki dukungan untuk berbagai skenario pengeditan. Dukungan ini belum diterapkan di kelas Koleksi Koleksi. Jika Anda mengonversi dari Tampilan Tabel yang bergantung pada metode ini, harapkan untuk melakukan pengangkatan ekstra berat di Tampilan Koleksi. Header bagian Collection View dapat ditempatkan di mana saja dalam tampilan. dan UITableView tidak perlu mengatur tombol dengan tag atau benda lain dengan mendapatkan nilai item yang dipilih.


2
2018-06-18 05:31



Ini benar-benar tergantung pada bagaimana data Anda ditampilkan. Seperti yang disebutkan oleh banyak di atas, jika Anda hanya membutuhkan satu set data dan itu juga tidak rumit, pergilah UITableView menggunakan lain UICollectionView.

UICollectionView adalah kustomisasi yang ramah.

Jika Anda berurusan dengan ketinggian sel beberapa atau lebih, kemudian pergi UICollectionView.


1
2018-04-03 06:51



Dari pengalaman pribadi saya, kedua elemen itu seharusnya hanya bisa dibandingkan dengan loosly.

TableView

TableView adalah elemen UI yang dirancang untuk menampilkan data dalam format daftar. Ada fungsi tertentu yang datang sebagai standar dengan UITableView, seperti:

  • Tampilan aksesori
  • Gaya Sel Seluler
  • Gaya Editing (Hapus dan edit tombol).

Elemen di atas meningkatkan kegunaan data saat menampilkan dan berinteraksi dalam format daftar. Seperti melihat email.

CollectionView

CollectionView adalah elemen UI yang dirancang untuk menampilkan konten menggunakan tata letak khusus (biasanya apa pun yang bukan daftar). CollectionViews meningkatkan fungsionalitas menampilkan data dalam gaya tata letak yang sepenuhnya dipesan lebih dahulu dan juga secara dinamis mengubah tata letak dengan cepat. Beberapa contoh adalah:

  • Daftar Horizonal
  • Galeri Foto
  • Tampilan thumbnail
  • Carousel
  • Dial
  • Menata elemen di peta
  • dll.

CollectionViews juga memungkinkan untuk beberapa pilihan.

Kesimpulan

Seperti yang Anda lihat dari atas, keduanya memiliki kasus penggunaan yang benar-benar berbeda dan dirancang untuk meningkatkan pengembangan dan kegunaan dari set data spesifik mereka sendiri.

Jika Anda ingin menampilkan apa pun dalam gaya daftar dengan interaksi followin: - Menambah - Menghapus - Memesan ulang Maka UITableView akan menyederhanakan proses ini dengan memberikan dukungan langsung dari kotak.

Yang lain, Anda harus memanfaatkan manfaat CollectionView karena Anda memiliki lebih banyak fleksibilitas.


1
2018-01-07 20:08



Berdasarkan kebutuhan kami, kami memilih TableView atau CollectionView.

Contoh:

Untuk tabel kontak teleponView adalah opsi terbaik.

Untuk galeri foto, tampilan koleksi akan menjadi pilihan terbaik.


0
2018-04-15 09:01



Saya memiliki masalah ini dalam proyek saya saat ini. Yang digunakan. Dalam kasus saya itu benar-benar sederhana. Saya membutuhkan keduanya. Saya membutuhkan pandangan saya agar terlihat seperti UITableView dan juga untuk mengubah perubahan / tata letaknya. Jadi, UICollectionView digunakan. Saya juga menggunakan UITableView di mana-mana saya tidak memerlukan penyesuaian tambahan. Karena UiTableView hadir dengan tata-letak default yang menyertakan gambar dan teks - saya menggunakannya untuk kesederhanaan.


0
2018-04-15 09:50