如以下代码所示,当 tableview 被拉伸(从不向上滚动)时,NSLog(@"tap is not on the tableview cell")
总是会被调用(因为我认为 indexPath 总是 nil)。但是,当我在节号大于 2 的节标题中点击头像时,NSLog
不会调用。很奇怪,有人知道这是怎么回事吗?
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
...
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapGesture:)];
tapGesture.numberOfTapsRequired = 1;
[avatar addGestureRecognizer:tapGesture];
//avatar is UIImageView and the user interaction is enabled.
[headerView addSubview: aMessageAvatar];
return headerView;
...
}
-(void)handleTapGesture:(UITapGestureRecognizer *)sender
{
CGPoint point = [sender locationInView:self.tableView];
NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:point];
if (!indexPath) {
NSLog(@"tap is not on the tableview cell");
}
}