UISwipeGestureRecognizer用于子视图(UIVIew)不起作用

时间:2012-09-28 15:44:29

标签: iphone xcode uiview uiswipegesturerecognizer

我在self.view中有一个带有3个子视图的View Controller。 我试图在他们之间滑动它不起作用。 这是我的代码:

- (void)viewDidLoad
{    
    UISwipeGestureRecognizer *swipeGestureRecognizerLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(didSwipe:)];
    swipeGestureRecognizerLeft.direction = UISwipeGestureRecognizerDirectionLeft;
    for (UIView *subview in self.view.subviews) 
    {       
        if([subview isKindOfClass:[UIView class]] && !([subview isKindOfClass:[UIImageView class]]))
        {  
             [subview addGestureRecognizer:swipeGestureRecognizerLeft];
             NSLog(@"Load 2");    
        }
    }
}

    -(void) didSwipe:(UISwipeGestureRecognizer *) swipeRecognizer {
        NSLog(@"Load swipe");

        if (swipeRecognizer.direction==UISwipeGestureRecognizerDirectionLeft) 
        {
            NSLog(@"swipe Left"); 
            [self SlideToLeft];
        }
    }

我真的看到“装载2”正在打印3次,但是当我尝试滑动时它不起作用。

谢谢

1 个答案:

答案 0 :(得分:0)

您在这里使用UIScrollView吗?这可能是问题所在。

我认为在这种情况下你可以使用标准的UIScrollView委托方法:

- (void) scrollViewDidScroll: (UIScrollView *) sender
{
    NSLog(@"Scrolled!");
}

否则这些家伙hereherehere也会遇到麻烦,也许那里的答案可以帮到你。

如果你没有在这里使用UIScrollView?我应该用一个,为什么不呢? 3子视图和滑动到下一个听起来就像一个很好的UIScrollView示例(使用分页)。

祝你好运!