-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event(实现不规则点击,事件分发)

 

在有全屏侧滑的情况下,页面上有个slider需要左右滑动的时候,经常在滑动slider的时候页面也跟着滑动               
  
解决办法一:关闭当前页面的全屏侧滑,开启系统侧滑  
self.fd_interactivePopDisabled = YES;  //关闭全屏侧滑
self.navigationController.interactivePopGestureRecognizer.enabled = YES;  //开启系统侧滑 
解决办法二:if (点击事件在slider上) {
                         关掉全屏侧滑;
                      } else {
                         开启全屏侧滑;
                      }
 
View上
复制代码
-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
  UIView *hitView = [super hitTest:point withEvent:event];
  if (hitView == _mySlider) {
    _sliderBlock11(YES);
    return hitView;
  } else {
    _sliderBlock11(NO);
    return nil;
  }
}
复制代码
ViewController上
  
__weak ViewController *weakSelf = self;
sliderV.sliderBlock11 = ^ (BOOL aaa){ weakSelf.fd_interactivePopDisabled = aaa; };

 

posted @ 2016-11-28 11:06  o.0...w  阅读(838)  评论(0编辑  收藏  举报