Ho un UITableView
come sottoview del mio UIScrollVIew
, che è la vista principale controllata dal mio MainViewController
.didSelectRowAtIndexPath: non viene chiamato
In MainViewController.h
@interface MainViewController : UIViewController <UIGestureRecognizerDelegate, UITableViewDelegate, UITableViewDataSource>
// other stuff here...
@property (weak, nonatomic) IBOutlet UITableView *myTableView;
In MainViewController.m
@synthesize myTableView;
// other stuff here...
- (void)viewDidLoad {
myTableView.delegate = self;
myTableView.datasource = self;
}
// other stuff here...
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath {
[self performSegueWithIdentifier:@"listAttributesSegue" sender:self];
}
So che didSelectRowAtIndexPath
non viene chiamato perché ho impostare punti di interruzione sia sul metodo stesso e la linea di codice all'interno e nessuno dei due viene chiamato. So anche che l'origine dati funziona correttamente perché ho altre funzioni che modificano le celle in fase di esecuzione e funzionano perfettamente bene. Sto usando l'ultimo Xcode con iOS 5.0 impostato come target di sviluppo. Ho cercato e cercato una risposta. Qualcuno ha qualche idea?
Modifica: Ho trovato la risposta. Avevo un UITapGestureRecognizer
impostato per la superView di myTableView. Questo ha annullato la chiamata di selezione. Ringraziamo chi ha suggerito che potrebbe essere questo. La tua risposta è stata cancellata prima che potessi contrassegnarla correttamente.
Edit 2: Un sacco di persone sono state commentando su questo, così ho pensato che avrei condiviso esso. Se si verifica questo problema, è sufficiente impostare myGestureRecognizer.cancelsTouchInView
su false
e tutto dovrebbe funzionare correttamente.
Avete implementato 'tableView: willSelectRowAtIndexPath:'? Forse sta ritornando nil impedendo così 'didSelectRowAtIndexPath:' dalla chiamata? –
sì, l'ho provato anch'io – Garrett
Grazie per essere tornato con la soluzione. Penso che potrebbe essere meglio inserire la modifica come risposta. –