didSelectRowAtIndexPath: no se llama
Tengo unUITableView
como una subvista de miUIScrollVIew
, que es la vista principal controlada por miMainViewController
.
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];
}
Yo sé esodidSelectRowAtIndexPath
no se llama porque he establecido puntos de interrupción tanto en el método en sí como en la línea de código dentro de él, y tampoco se llama a ninguno. También sé que el origen de datos funciona correctamente porque tengo otras funciones que modifican las celdas en tiempo de ejecución y funcionan perfectamente bien. Estoy usando el último Xcode con iOS 5.0 establecido como objetivo de desarrollo. He buscado y buscado una respuesta. ¿Alguien tiene alguna idea
Editar He encontrado la respuesta. Tuve unUITapGestureRecognizer
configurado para el superView de myTableView. Esto anuló la llamada de selección. Gracias a quien sugirió que podría ser eso. Su respuesta se eliminó antes de que pudiera marcarla como correcta.
Edit 2: Mucha gente ha comentado sobre esto, así que pensé en compartirlo. Si tiene este problema, simplemente configuremyGestureRecognizer.cancelsTouchInView
afalse
y todo debería funcionar bien.