在模拟器中轻扫时,UISwipeGestureRecognizer 不会发送到 IBAction 方法



我在视图控制器中将两个滑动手势拖动到图像视图中,一个用于右滑动,另一个用于左滑动。然后,我将它们作为IBAction连接到视图控制器的头文件。我在IBAction方法中写了一些代码,但问题是,当我在运行应用程序时向左/向右滑动时,它永远不会被调用。以下是代码示例:

- (IBAction)handleSwipe:(UISwipeGestureRecognizer *)sender
{
    NSLog(@"swiped");
    NSArray *images;
    if (self.selectedRow == 0) {
        images = [[NSArray alloc] initWithObjects:@"w8.JPG",@"w7.JPG",@"w6.JPG",@"w5.JPG",@"w4.JPG",@"w3.JPG", @"w2.JPG", @"w1.JPG" ,@"w9.JPG", nil];
        UISwipeGestureRecognizerDirection direction = [(UISwipeGestureRecognizer *) sender direction];
        switch (direction) {
            case UISwipeGestureRecognizerDirectionRight:
                imageIndex++;
                break;
            case UISwipeGestureRecognizerDirectionLeft:
                imageIndex--;
                break;
            default:
                break;
        }
        imageIndex = (imageIndex < 0) ? ([images count] - 1): imageIndex % [images count];
        self.imageView.image = [UIImage imageNamed:[images objectAtIndex:imageIndex]];
    }
}

NSLog从未显示过,所以我确信发件人没有被发送到该方法。另一件事是,我过去在Xcode 5中运行相同的代码,一切都很好,最近我把我的Xcode更新到了版本6。我应该怎么做才能解决这个问题?

我发现了问题所在。在图像视图的属性检查器中,"启用用户交互"未选中,我启用了它。现在滑动手势可以正常工作。

最新更新