ios view捕获点击事件相关方法

1.获取事件响应者(即当前点击位置的响应视图)
可重写视图的此方法,改变某些视图的响应位置或进行事件处理

/**重写表视图的事件响应方法,实现点击任意不响应事件的位置收起键盘*/
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
    id view = [super hitTest:point withEvent:event];
    if (!([view isKindOfClass:[UITextField class]] || [view isKindOfClass:[UIButton class]] || ([view isKindOfClass:NSClassFromString(@"UITableViewCellContentView")] && [self.delegate respondsToSelector:@selector(tableView:didSelectRowAtIndexPath:)])))
    {
        [self.superview endEditing:YES];
    }
    return view;
}

2.获取当前触摸事件
当视图不存在其他事件处理,可直接在此方法中处理点击响应

/**获取点击的点以及响应的视图*/
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *touch = [touches anyObject];
    /**点触位置的响应视图*/
    UIView *responder = touch.view;
}

你可能感兴趣的:(ios view捕获点击事件相关方法)