给slider添加UIControlEventTouchDown
UIControlEventTouchUpInside
UIControlEventTouchUpOutside
UIControlEventValueChanged事件,
并且给slider的父控件添加tap点击事件
,但是滑动完slider后手指起来会触发到父控件的tap事件
解决办法:将tap的delegate = self;
实现代理<UIGestureRecognizerDelegate>的方法:
-(BOOL)gestureRecognizer:(UIGestureRecognizer)gestureRecognizer shouldReceiveTouch:(UITouch)touch {
if([touch.view isKindOfClass:[UISlider class]])
{
//当点击事件响应到slider时,让他失效
return NO;
}else{
return YES;
}
}
==============在做视频播放时碰到的bug slider加在scrollVIew上============
解决办法:将self.scrollView.panGestureRecognizer.delegate = self.scrollVIew;其实默认delegate就是等于scrollVIew
然后重写
-(BOOL)gestureRecognizer:(UIGestureRecognizer)gestureRecognizer shouldReceiveTouch:(UITouch)touch {
NSLog(@"==%@==",touch.view.class);
if([touch.view isKindOfClass:[UISlider class]]) {
return NO;
} else {
return YES;
}
}
网友评论