我有一个自定义的UIView类。在该视图中,有一个图像视图。 (我正在从头开始制作UISlider。)
我正试图让图像视图 - 滑块的拇指 - 在视图中移动。下面是UIView类的代码
- (BOOL)continueTrackingWithTouch:(UITouch *)touch withEvent:(UIEvent *)event {
CGPoint touchPoint = [touch locationInView:self];
if ( CGRectContainsPoint(self.thumb.frame, touchPoint))
self.thumb.center = CGPointMake(touchPoint.x, self.thumb.center.y);
return YES;
}
当我将手指放在滑块的拇指上并尝试拖动它时,没有任何反应。但是,当我触摸滑块的拇指外面时,将手指拖到拇指上而不放手,然后尝试拖动拇指,它可以正常工作。
如何修改我的代码,以便在有人握住拇指并试图拖动它时调用该方法?
答案 0 :(得分:0)
我的猜测是您在图像视图上启用了用户交互,而这又不会将触摸事件转发到后备逻辑视图。做这样的事情:
self.thumb.userInteractionEnabled = NO
将它放在您正在使用的任何init方法中,拇指视图不会再中断触摸事件。