1

我试图以一种非常具体的方式检测滑动,但结果好坏参半。我的第一个问题是仅在屏幕的某个区域识别滑动,现在已解决。我当前的问题是:假设我的视图中有一个事物列,并且我使该列的尺寸与我的手势识别器相对应。使用该应用程序时,滑动必须在这些维度内开始,才能被识别为滑动。相反,即使用户开始在列区域之外滑动,我也需要识别滑动。事实上,我什至不在乎它是否是滑动,甚至是点击或其他什么都可以,我只想知道用户的手指是否曾经在该列中(在这种情况下,他们肯定会从列区域之外)。

这是我当前的代码哪些单词,但滑动必须在列内开始:

- (IBAction)swiperMethod:(UISwipeGestureRecognizer *)sender {
    CGPoint point = [sender locationInView:self.view];
    if(point.y < 316 && point.y > 76 && point.x < 234 && point.x > 164)
    {
        _sampleText.text=@"hi";
    }
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    UISwipeGestureRecognizer *leftRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swiperMethod:)];
    [leftRecognizer setDirection: UISwipeGestureRecognizerDirectionLeft];
    [[self view] addGestureRecognizer:leftRecognizer];
    // Do any additional setup after loading the view, typically from a nib.
}

有人可以告诉我如何让滑动(或任何手势,我不关心它特别是滑动)被识别,即使用户只是将他/她的手指拖过这个区域?

谢谢!

4

1 回答 1

1

这个方法有效!

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch * touch = [[event allTouches] anyObject];
    CGPoint point = [touch locationInView:touch.view];
    if(point.y < 316 && point.y > 76 && point.x < 234 && point.x > 164)
    {
        _sample.image = [UIImage imageNamed:@"normal.png"];
    }
    else
    {
        _star.image = [UIImage imageNamed:@"alternate.png"];
    }

}
于 2013-05-21T03:44:15.180 回答