0

我有一个自定义 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;

}

当我将手指放在滑块的拇指上并尝试拖动它时,没有任何反应。但是,当我触摸滑块的拇指外侧时,将手指拖到拇指上而不松手,然后尝试拖动拇指,它可以正常工作。

如何修改我的代码,以便在有人握住拇指并试图拖动它时调用该方法?

4

1 回答 1

0

我的猜测是您在图像视图上启用了用户交互,这反过来又不会将触摸事件中继到支持逻辑视图。做这样的事情:

self.thumb.userInteractionEnabled = NO

将它放在您使用的任何 init 方法中,拇指视图将不再中断触摸事件。

于 2011-11-19T08:48:14.693 回答