Kann ich mit swipe-to-delete-Funktion in der custom uitableviewcell?
Ich es versucht, aber streichen nicht auslösen tableView:willBeginEditingRowAtIndexPath: an alle! und die löschen-Schaltfläche nicht angezeigt wird, gibt es eine Abhilfe für dieses?
EDIT: Das ist meine Umsetzung
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView beginUpdates];
if (editingStyle == UITableViewCellEditingStyleDelete)
{
if(_itemsArray == nil)
NSLog(@"\n\nNIL ARRAY\n\n");
NSLog(@"\nindexPath.row = %d\nItemsArray Count:%d",indexPath.row,_itemsArray.count);
int row = [[[_itemsArray objectAtIndex:indexPath.row]valueForKey:@"itemRow"] integerValue];
[_itemsArray removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
[[self delegate]didDeletedBillItemRow:row];
}
[tableView endUpdates];
}
- deaktivieren Sie die Benutzer-Interaktion in benutzerdefinierten tableview cell
- aktivieren tableview.setEditing = JA;
Du musst angemeldet sein, um einen Kommentar abzugeben.
tableView:willBeginEditingRowAtIndexPath:
ist nicht der richtige Ort, um diese zu bewältigen. Aus der offiziellen Dokumentation, müssen Sie diese Methode implementieren, in der Sie UITableViewController :Einfach so: