我有一个UITableView
作为 my 的子视图UIScrollVIew
,这是由 my 控制的主视图MainViewController
。
在 MainViewController.h
@interface MainViewController : UIViewController <UIGestureRecognizerDelegate, UITableViewDelegate, UITableViewDataSource>
// other stuff here...
@property (weak, nonatomic) IBOutlet UITableView *myTableView;
在 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];
}
我知道它didSelectRowAtIndexPath
没有被调用,因为我在方法本身和其中的代码行上都设置了断点,并且都没有被调用。我也知道数据源工作正常,因为我有其他函数可以在运行时修改单元格并且它们工作得很好。我正在使用将 iOS 5.0 设置为开发目标的最新 Xcode。我已经搜索并搜索了答案。有人有想法么?
编辑:
我找到了答案。我UITapGestureRecognizer
有一套 myTableView 的 superView。这覆盖了选择调用。感谢任何建议这可能是它的人。在我将其标记为正确之前,您的答案已被删除。
编辑2:
很多人对此发表了评论,所以我想分享一下。如果您遇到此问题,只需设置myGestureRecognizer.cancelsTouchInView
为false
,一切正常。