didSelectRowAtIndexPath: não sendo chamado
Eu tenho umUITableView
como uma sub-visualização do meuUIScrollVIew
, que é a visão principal controlada pelo meuMainViewController
.
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];
}
Eu sei dissodidSelectRowAtIndexPath
não está sendo chamado porque defini pontos de interrupção no método em si e na linha de código dentro dele, e nenhum deles está sendo chamado. Eu também sei que a fonte de dados está funcionando corretamente porque tenho outras funções que modificam as células em tempo de execução e estão funcionando perfeitamente. Estou usando o Xcode mais recente com o iOS 5.0 definido como o objetivo de desenvolvimento. Eu procurei e procurei por uma resposta. Alguém tem alguma ideia
Editar Eu encontrei a resposta. Eu tive umUITapGestureRecognizer
definido para o superView do myTableView. Isso substituiu a chamada de seleção. Crédito para quem sugeriu que poderia ser isso. Sua resposta foi excluída antes que eu pudesse marcá-la correta.
Edit 2: Muitas pessoas têm comentado sobre isso, então eu gostaria de compartilhá-lo. Se você estiver enfrentando esse problema, basta definirmyGestureRecognizer.cancelsTouchInView
parafalse
e tudo deve funcionar be