Saya memiliki tampilan tabel yang dibagi menjadi beberapa bagian, saya harus mencetak jumlah baris dan bagian ketika saya mengetuk tombol di sel. Bagaimana saya bisa mendapatkan ini?
Bagaimana Anda mendapatkan IndexPath.section dan IndexPath.row ketika tombol di sel diketuk? [duplikat]
comment
@vadian, Dari pertanyaan yang saya pahami adalah ini bukan tentang mendeteksi tombol di sel, ini tentang mendapatkan baris dan bagian dari sel itu. Anda dapat menggunakan penutupan itu di tautan yang disediakan vadian selain itu Anda dapat meneruskan jalur indeks sebagai parameter penutupan
- person Ajay Singh Mehra   schedule 29.09.2017
comment
Pertanyaan tertaut menjelaskan cara untuk mendapatkan indexPath.section dan indexPath.row ketika tombol di sel diketuk.
- person vadian   schedule 29.09.2017
Jawaban (2)
Simpan indexPath
di dalam sel Anda dan ambil ketika tombol ditekan.
Pengontrol tampilan tabel
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "custom") as! CustomTableCell
cell.indexPath = indexPath
return cell
}
Sel tabel khusus
class CustomTableCell: UITableViewCell {
var indexPath: IndexPath!
@IBAction func buttonPressed() {
print(indexPath)
}
}
person
Tamás Sengel
schedule
28.09.2017
Tidak perlu menyimpan jalur indeks ke dalam sel tampilan tabel khusus saat jalur indeks diteruskan ke metode delegasi tableView:didSelectCellAtIndexPath.
- person tww0003; 28.09.2017
Ingatlah bahwa OP ingin mengambil
indexPath
ketika tombol ditekan, bukan sel itu sendiri.
- person Tamás Sengel; 28.09.2017
Ah, saya salah membaca pertanyaannya. Masih tidak perlu membuat sel khusus. Saat tombol ditekan, ambil sel tampilan tabel dengan properti tampilan super dari tombol tersebut. Kemudian gunakan metode indexPathForCell tampilan tabel untuk mendapatkan jalur indeks.
- person tww0003; 28.09.2017
Terapkan metode tableView:didSelectRowAtIndexPath:. Saat dipanggil, NSIndexPath akan diteruskan yang memiliki properti bagian dan baris di dalamnya.
Metode ini akan dipanggil setiap kali sel tampilan tabel ditekan. Jalur indeks akan menjadi jalur indeks sel yang ditekan.
https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614877-tableview
Sunting:
Saya salah membaca pertanyaannya. Saat tombol ditekan, dapatkan TableViewCell dari tombol dengan mengakses superview tombol. Kemudian gunakan metode IndexPathForCell TableView untuk mendapatkan IndexPath tombol.
person
tww0003
schedule
28.09.2017