设置在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是我在我的视图控制器的榫文件创建一个UIView,并附着在视图控制器一个UIView出口。
我想一个更好的解决方案是在UITableView本身设置一个轻拍手势识别器,用代码来确定轻敲的位置是否在最后一个单元之后。如果我试着去尝试,我会更新。
添加功能的导航栏按钮绝对是一个很好的选择/添加;但是我抱着希望能够满足最初要求的建议。 – kris 2011-05-24 19:34:42
你可以用你自己的UIControl子类来尝试。我仍然更喜欢New按钮,因为更明显的是如何添加新条目。在我的一些tableviews(没有naviagtion栏的那些)中,我把“ - 添加新的”作为第一个输入到数据源中。 – 2011-05-27 13:44:22
这不是问题的答案,所以它应该是对主线程的评论。 – 2012-08-16 18:27:21