2013-07-15 12 views
5

Hi, wenn im Editiermodus der Tabellenansicht die Funktion didselectrowatindexpath nicht aufgerufen wird. Hier ist mein Code. Irgendein falsches mit meinem Code?ios didselectrowatindexpfad wird im Editiermodus nicht aufgerufen

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (self.tableView.editing == YES) { 
     NSLog(@"now in editing mode"); 
    } 
    else { 
     NSLog(@"now in normal mode"); 
    } 
} 

- (void)setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing:editing animated:animated]; 
    // must be called first according to Apple docs 
    [self.tableView setEditing:editing animated:animated]; 
} 

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 
    // Return NO if you do not want the specified item to be editable. 
    return YES; 
} 

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

- (BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath { 
    return NO; 
} 

Bitte help.Thanks

+0

Du Delegierten von Tableview – Jitendra

+0

Scheck hinzufügen können, ob Sie Delegaten von UITableView selbst gesetzt (oder der Klasse, die DidSelectRowAtIndexPath Funktion Implementierung hat) .. – Suryakant

Antwort

16

Sie haben diese Eigenschaft einzustellen allowsSelectionDuringEditing von UITableView-TRUE der Lage sein, Zeile auszuwählen, während auf Editing Modus. So sollte es sein

self.tableView.allowsSelectionDuringEditing=YES; 
+0

Mit iOS 9 wird DidSelectRowAtIndexPath nie im Bearbeitungsmodus aufgerufen sogar mit allowsSelectionDuringEditing = JA. Stattdessen können Sie den Parameter "selectRowAtIndexPath" implementieren, der aufgerufen wird, wenn Sie auch "allsSelectionDuringEditing = YES" festlegen. – lifjoy

1

Ich glaube nicht, es ist standardmäßig aktiviert, aber Sie müssen angeben, welche Auswahl sollten während der Bearbeitung zugelassen werden, so wie man es für nicht-Bearbeitung Auswahl. Verwenden Sie je nach Bedarf eine der beiden folgenden Zeilen.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self.tableView setAllowsMultipleSelectionDuringEditing:YES]; 
    [self.tableView setAllowsSelectionDuringEditing:YES]; 
} 
Verwandte Themen