接收cell外tap事件

fetch a tap event out of cell on the table

需求:检测并处理TableView上cell外的touch事件

基本思路:
UITableView是UiView的子类,所以继承了 - (UIView*)hitTest:(CGPoint) withEvent:(UIEvent*)方法,因此我们可以通过重载TableView的hitTest:逻辑来实现修改touch事件执行逻辑,实现如下:

@interface NXTableView : NXTableView {
}
@end

@implementation NXTableView
- (UIView*)hitTest:(CGPoint)point withEvent:(UIEvent*)event {
    // check if a row was hit
    NSIndexPath *indexPath = [self indexPathForRowAtPoint:point];
    if(!indexPath) {
        NSLog(@"outside Cell");
    }
    return [super hitTest:pointwithEvent:event];
}
@end