2011-11-19 163 views
0

我有一个自定义的UIView类。在该视图内部,有一个图像视图。 (我从头开始制作UISlider)。ContinueTrackingWithTouch:withEvent:方法未被调用?

我想获取图像视图 - 滑块的拇指 - 移动视图。下面是从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

三重柱:[未检测UITouch在continueTrackingWithTouch?](http://stackoverflow.com/questions/8110896/not-detecting-uitouch-in-continuetrackingwithtouch)和[continueTrackingWithTouch:withEvent没有被调用](HTTP: //stackoverflow.com/questions/8113951/continuetrackingwithtouchwithevent-not-being-called) –

回答

0

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

self.thumb.userInteractionEnabled = NO 

提出,在任何init方法使用的是和拇指视图不会中断触摸事件了。