ฉันมีการแบ่งมุมมองตารางเป็นส่วนๆ ฉันต้องพิมพ์จำนวนแถวและส่วนเมื่อฉันแตะปุ่มในเซลล์ ฉันจะได้รับสิ่งนี้ได้อย่างไร?
คุณจะได้รับ indexPath.section และ indexPath.row ได้อย่างไรเมื่อแตะปุ่มในเซลล์ [ทำซ้ำ]
comment
@vadian จากคำถามที่ฉันเข้าใจก็คือมันไม่เกี่ยวกับการตรวจจับปุ่มในเซลล์ แต่เกี่ยวกับการรับแถวและส่วนจากเซลล์นั้น คุณสามารถใช้การปิดนั้นในลิงก์ vadian ที่ให้ไว้นอกจากนี้คุณสามารถส่งผ่าน indexpath เป็นพารามิเตอร์ได้ ของการปิด
- person Ajay Singh Mehra   schedule 29.09.2017
comment
คำถามที่เชื่อมโยงอธิบายวิธีในการรับindexPath.sectionและindexPath.rowเมื่อมีการแตะปุ่มในเซลล์
- person vadian   schedule 29.09.2017
คำตอบ (2)
เก็บ indexPath
ไว้ในเซลล์ของคุณและดึงกลับมาเมื่อกดปุ่ม
ตัวควบคุมมุมมองตาราง
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "custom") as! CustomTableCell
cell.indexPath = indexPath
return cell
}
เซลล์ตารางแบบกำหนดเอง
class CustomTableCell: UITableViewCell {
var indexPath: IndexPath!
@IBAction func buttonPressed() {
print(indexPath)
}
}
person
Tamás Sengel
schedule
28.09.2017
ไม่จำเป็นต้องจัดเก็บเส้นทางดัชนีลงในเซลล์ tableview ที่กำหนดเองเมื่อเส้นทางดัชนีถูกส่งผ่านไปยังเมธอดผู้รับมอบสิทธิ์ tableView:didSelectCellAtIndexPath
- person tww0003; 28.09.2017
โปรดทราบว่า OP ต้องการดึง
indexPath
เมื่อมีการกด ปุ่ม ไม่ใช่ที่เซลล์
- person Tamás Sengel; 28.09.2017
เอ่อ ฉันอ่านคำถามผิด ยังคงไม่จำเป็นต้องสร้างเซลล์แบบกำหนดเอง เมื่อกดปุ่ม ให้จับเซลล์ tableview ด้วยคุณสมบัติ super view ของปุ่ม จากนั้นใช้วิธี indexPathForCell ของ tableview เพื่อรับเส้นทางดัชนี
- person tww0003; 28.09.2017
ใช้เมธอด tableView:didSelectRowAtIndexPath: เมื่อมันถูกเรียก NSIndexPath จะถูกส่งผ่านที่มีคุณสมบัติส่วนและแถวอยู่
เมธอดนี้จะถูกเรียกทุกครั้งที่กดเซลล์ tableview เส้นทางดัชนีจะเป็นเส้นทางดัชนีของเซลล์ที่ถูกกด
https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614877-tableview
แก้ไข:
ฉันอ่านคำถามผิด เมื่อกดปุ่ม ให้รับ TableViewCell จากปุ่มโดยเข้าไปที่การควบคุมดูแลของปุ่ม จากนั้นใช้วิธีindexPathForCellของ TableView เพื่อรับindexPathของปุ่ม
person
tww0003
schedule
28.09.2017