Tôi có một UIPanGuestureRecognizer thêm vào toàn bộ quan điểm sử dụng mã này:Nhận Vuốt sang Delete trên UITableView để làm việc với UIPanGestureRecognizer
UIPanGestureRecognizer *pgr = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAction:)];
[[self view] addGestureRecognizer:pgr];
Trong giao diện chính Tôi có một UITableView trong đó có đoạn mã này để cho phép các swipe để tính năng xóa:
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"RUNNING2");
return UITableViewCellEditingStyleDelete;
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row >= _firstEditableCell && _firstEditableCell != -1)
NSLog(@"RUNNING1");
return YES;
else
return NO;
}
Chỉ RUNNING1
được in vào nhật ký và nút Xóa không hiển thị. Tôi tin rằng lý do cho điều này là UIPanGestureRecognizer, nhưng tôi không chắc chắn. Nếu điều này là chính xác làm thế nào tôi nên đi về sửa chữa này. Nếu điều này không chính xác, vui lòng cung cấp nguyên nhân và sửa chữa. Cảm ơn.
Bạn đã thiết lập lớp học của bạn là xem bảng của đại biểu? – rdelmar
@rdelmar Có. Ngoài ra tôi không nghĩ rằng RUNNING1 sẽ được in nếu không. Nhưng cảm ơn vì đã cố gắng. – carloabelli
canEditRorAtIndexPath: là một phương thức nguồn dữ liệu, không phải là phương thức ủy nhiệm, do đó nó sẽ chạy nếu bạn không thiết lập đại biểu. – rdelmar