iOS视图穿透

问题:

播放大图动画的时候,挡住正常用户交互.

解决方案:

利用响应链和事件传递的原理,在需要忽略的view上,重写hitTest:withEvent:方法,告诉系统这个view以及子类不处理触摸事件

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
    UIView *hitView= [super hitTest:point withEvent:event];
    if (hitView == self || [self.subviews containsObject:hitView]){
        return nil;
    }else{
        return hitView;
    }
}

你可能感兴趣的:(iOS视图穿透)