2013-07-15 9 views
5

Salve quando nella modalità di modifica della visualizzazione tabella, la funzione didselectrowatindexpath non viene chiamata. Ecco il mio codice. Qualche torto con il mio codice?ios didselectrowatindexpath non chiamato in modalità di modifica

- (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; 
} 

help.Thanks prega

+0

è possibile aggiungere delegato del Tableview – Jitendra

+0

verifica se si imposta delegato del UITableView di auto (o la classe che ha didSelectRowAtIndexPath implementazione della funzione) .. – Suryakant

risposta

16

è necessario impostare questa proprietà allowsSelectionDuringEditing di UITableView-TRUE per essere in grado di selezionare fila mentre in modalità Editing. Così dovrebbe essere

self.tableView.allowsSelectionDuringEditing=YES; 
+0

Con iOS 9, didSelectRowAtIndexPath non viene mai chiamato mentre in modalità di modifica, anche con allowsSelectionDuringEditing = SÌ. Invece, è possibile implementare willSelectRowAtIndexPath-- che verrà chiamato se si imposta allowSelectionDuringEditing = YES. – lifjoy

1

non credo che è abilitato di default, ma è necessario specificare che cosa selezione dovrebbe essere consentito durante la modifica, proprio come si farebbe per la selezione non-editing. Usa una delle due linee seguenti a seconda di ciò che ti serve.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self.tableView setAllowsMultipleSelectionDuringEditing:YES]; 
    [self.tableView setAllowsSelectionDuringEditing:YES]; 
} 
Problemi correlati