在 tableView 的页脚上设置的点击手势识别器为我做了这个伎俩。正如宣传的那样,它检测到点击,但通过其他手势(如滚动)到 UITableView 就好了。
//In viewDidLoad
//configure footerView with gesture recognizer
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSingleTapOnFooter:)];
singleTap.numberOfTapsRequired = 1;
[self.footerView addGestureRecognizer:singleTap];
[singleTap release];
self.tableView.tableFooterView = self.footerView;
//Later on, implement the corresponding method
- (IBAction) handleSingleTapOnFooter: (UIGestureRecognizer *) sender {
NSLog(@"The footer was tapped!");
// code to add an entry to the table here
}
footerView 是我在视图控制器的 nib 文件中创建的 UIView,并附加到视图控制器中的 UIView 插座。
我想一个更好的解决方案是在 UITableView 本身上设置一个点击手势识别器,使用代码来识别点击的位置是否在最后一个单元格之后。如果我有时间尝试,我会更新。