vicki753's iOS 基础--触摸点击事件

2018-08-30  本文已影响18人  vicki753

1、 重写touch方法

    -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
CGPoint touchPoint = [[touches anyObject] locationInView:self]; //找出point 点
if (!CGRectContainsPoint(self.backView.frame, touchPoint)) { // 是否包含这个点
    if ([self.delegate respondsToSelector:@selector(clickCustomPickerView:)]) {
        [self.delegate clickCustomPickerView:self];
    }
  }
}

2、重写view的hitTest方法

-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{} 
 // 同样是否包含什么什么点,不过这个相对复杂点,比较好应用的地方就是点击左边图片可以响应的是右边的按钮,只需要当包含左边图片的时候就return leftButton.这样就会响应leftbutton的target了。或者你干脆如果是(左边图片 || 右边的按钮)这样或运算判断然后直接响应同一个事件,也是可以的。

3、添加手势 UITapGestureRecognizer

4、 这个如果上面的都不熟悉也不想了解,那就换成按钮咯,不过不鼓励这样做。这样好处是方便,虽然层级多了,但也很好理解和处理。

上一篇下一篇

猜你喜欢

热点阅读