2014-10-15 12 views
12

Tôi đã triển khai tableView:editActionsForRowAtIndexPath:. Để trả lời một số hành động này, tôi muốn chụp lại vùng hành động hàng đã đóng.UITableView - làm cách nào để đóng các hành động hàng?

Dường như không phải là phương pháp thích hợp trên UITableViewRowAction. Tôi đã thử endEditing trên cả bảng và ô bảng; Tôi không chắc phải làm gì tiếp theo.

Làm cách nào để chụp vùng hành động đã đóng?

+0

Hi Steven, bạn đã tìm thấy một giải pháp cho vấn đề này? – mttcrsp

+0

Không phải là một trong số đó là hoàn toàn khả thi. Một người bạn đã tải lại ô bằng con đường chỉ mục, nhưng tôi không thể sống với hình ảnh đó. Thay vào đó, tôi đã xóa các tác vụ hàng khỏi một màn hình trong ứng dụng của tôi mà điều này bị ảnh hưởng. Hãy cho tôi biết nếu bạn tìm thấy một cái gì đó hoạt động. –

Trả lời

29

Để đóng những hành động chỉnh sửa bạn có thể thiết lập các tableViews chỉnh sửa trạng thái:

tableView.editing = NO 

hoặc thiết lập nó với hình ảnh động:

[tableView setEditing:NO animated:YES] 
6

Cập nhật cho Swift 3

Tôi đã tìm kiếm một cách để làm điều này bằng cách sử dụng Swift 3, và cuối cùng tôi đã tìm thấy nó:

tableView.isEditing = false 
3

Nếu bạn làm self.tableView.setEditing(false, animated: true), người dùng sẽ được đưa ra khỏi chế độ chỉnh sửa. Tôi nghĩ rằng những gì bạn muốn là bạn muốn ở lại trong chế độ chỉnh sửa nhưng chỉ loại bỏ các hành động hàng. Vì vậy, bạn có thể sử dụng đoạn mã sau:

self.tableView.cellForRow(at: cellIndex)?.setEditing(false, animated: true) self.tableView.reloadData() // this is necessary, otherwise, it won't animate

Các vấn đề liên quan