14 Stimmen

Aktivieren von "Swipe-to-delete" beim Anzeigen von Neuordnungssteuerelementen in UITableView

Ich möchte das Nachbestellen von UITableViewCell s und das Löschen durch Wischen, aber nicht über den roten Löschkreis.

- (void)loadView
{
    [super loadView];
    [table setEditing:YES animated:NO];
}

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        // Perform delete here
    }
}

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
{
    // Perform move here
}

- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return UITableViewCellEditingStyleDelete;
}

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
    return YES;
}

Außerdem habe ich versucht, den Bearbeitungsmodus zu deaktivieren und die -[UITableViewCell setShowsReorderControl:YES] aber ohne Erfolg.

Image
(Quelle: <a href="http://booleanmagic.com/uploads/ReorderNotDelete.png" rel="nofollow noreferrer">booleanmagic.com </a>)

2voto

JoePasq Punkte 5286

Ich denke, Sie müssen einige benutzerdefinierte Touch-Ereignis Abfangen zu tun.

Auf Englisch: Wenn der Finger um eine bestimmte Strecke horizontal über die Zelle bewegt wird, wird nur in dieser Zelle das Steuerelement zum Löschen angezeigt.

Ich bin mir nicht sicher, wie man die Kreise auf der linken Seite ausschaltet, aber ich denke, es ist eine Eigenschaft wie "zeigt die Neuordnungssteuerung".

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X