Ho creato un nuovo progetto (Xcode 4, applicazione Master-Detail) solo per vedere se sto facendo qualcosa di sbagliato, ma ho ancora lo stesso problema. Voglio chiamare -reloadData
quando l'utente deseleziona una cella, quindi questo è il mio codice:Perché non viene chiamato -didDeselectRowAtIndexPath?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
NSLog(@"%s", __PRETTY_FUNCTION__);
}
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%s", __PRETTY_FUNCTION__);
[tableView reloadData];
}
-(NSIndexPath *)tableView:(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"%s", __PRETTY_FUNCTION__);
return indexPath;
}
Il problema è che didDeselectRowAtIndexPath
e willDeselectRowAtIndexPath
non sembrano essere chiamato. È questo il comportamento previsto? Documenti per lo stato tableView:didDeselectRowAtIndexPath:
Indica al delegato che la riga specificata è ora deselezionata.
quindi immagino che dovrebbe funzionare come pensavo.
Avete impostato correttamente il delegato per l'UITableView? –
hai specificato le tabelle delegate? e hai permesso agli utenti di selezionare le celle? –
Sì e sì. La selezione funziona come dovrebbe, la de-selezione è il problema .. – phi