iOS:向上滑动手势识别器无法正常工作

时间:2013-06-25 22:06:28

标签: ios uiswipegesturerecognizer

我的表格视图上方有一个文本字段。并且无论何时聚焦文本字段,都会注册轻扫手势。当识别滑动手势时,键盘被解除。代码适用于所有手势,除了向上滑动手势不起作用。这是我的代码

swipe = [[UISwipeGestureRecognizer alloc]
         initWithTarget:self action:@selector(dismissKeyboard)];

[swipe setDirection:UISwipeGestureRecognizerDirectionUp];

如果有任何问题,有人可以告诉我吗?

3 个答案:

答案 0 :(得分:0)

如果所有其他手势都有效,那就意味着没有逻辑问题。 检查拼写错误。 并重新应用滑动手势,并检查所有内容(插座等)。

答案 1 :(得分:0)

我不知道这个案例,但我知道当我在自定义容器视图上做手势然后添加了一个带有自己手势的子视图时,我不得不迭代孩子的手势并告诉我他们要求我的手势失败(即我的优先权)。我已经成功完成了滚动视图:

for (UIGestureRecognizer *gesture in self.scrollView.gestureRecognizers)
{
    [gesture requireGestureRecognizerToFail:myGesture];
}

我遇到问题的唯一一次是像UITextView这样的视图,当您进出编辑模式时,它会删除和添加手势,所以这很麻烦。

此外,当我用标准手势尝试此操作时,我随后转移到我已编程为尽快失败的自定义手势(检查开始位置并立即失败,如果它不支持我的手势方向要求,而不是等待一堆touchesMoved得出相同的结论)。如果您不想干扰子视图的手势,请尽可能让您失败。也许这不是滑动手势的问题,但如果您发现您的手势最终会明显改变子视图的行为,那么这是一个可能的考虑因素。

但我怀疑你可能只需要弄清楚哪些观点有干扰你的手势,并让它们先让你失败。

答案 2 :(得分:0)

您是否有机会与其中一个scrollview的手势发生碰撞?如果您的其他手势正常工作似乎不太可能,但至少尝试使用gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:UIGestureRecognizerDelegate协议中的方法可能是值得的。