用于tableview的滑动手势

时间:2013-03-06 09:44:52

标签: objective-c uitableview uiswipegesturerecognizer

我已将tableview添加为subview,我已将swipe gesture添加到tableview。滑动无法正常工作。 Pan gesture工作正常(刚刚测试过)。 Swipe gesture它不起作用。我想把桌子移到右边。因此,我只想在识别向右滑动时触发动画。但不能识别滑动本身。

panelGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(closePanel:)];
   [panelGesture setDirection: UISwipeGestureRecognizerDirectionRight];

    [panel addGestureRecognizer:panGesture];

3 个答案:

答案 0 :(得分:2)

使用以下代码......

在.m文件中的.h文件或私有作用域

UISwipeGestureRecognizer *leftToRightSwipGesture;

在你要添加手势识别器的.m文件中放置此代码......

leftToRightSwipGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(sampleGesture)];
    [leftToRightSwipGesture setDirection:UISwipeGestureRecognizerDirectionRight];
    [dashboardInventoryTableView addGestureRecognizer:leftToRightSwipGesture];

用于手势的.m文件示例方法

-(void)sampleGesture
{
    NSLog(@"Gesture Recognized");
}

答案 1 :(得分:1)

当您使用多个手势识别器时,您需要实现手势识别器的以下委托方法,以使它们同时工作

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

分别需要返回YES

答案 2 :(得分:1)

可能它会帮助你,但我不确定,尝试这样它会在我的情况下工作它工作正常

UISwipeGestureRecognizer *swiper = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(closePanel)] autorelease];
    swiper.delegate=self;
    [swiper setDirection:UISwipeGestureRecognizerDirectionRight];
    [tableview addGestureRecognizer:swiper];

并在.h文件中委托<UIGestureRecognizerDelegate>