您的位置:首页 > 产品设计 > UI/UE

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

2016-11-28 11:06 483 查看
-(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;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: