1

我的表格视图上方有一个文本字段。每当文本字段被聚焦时,就会注册一个滑动手势。当识别到滑动手势时,键盘将被关闭。该代码适用于所有手势,但向上滑动手势不起作用。这是我的代码

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

[swipe setDirection:UISwipeGestureRecognizerDirectionUp];

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

4

3 回答 3

0

您是否有可能与滚动视图的手势之一发生冲突?如果您的其他手势正常工作,这似乎不太可能,但至少值得尝试 UIGestureRecognizerDelegate 协议中的 gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer: 方法。

于 2013-06-25T23:41:30.257 回答
0

我不知道这种情况,但我知道当我在自定义容器视图上有手势,然后用自己的手势添加子视图时,我不得不遍历孩子的手势并告诉他们要求我的手势失败(即我的优先)。我已经成功完成了滚动视图:

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

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

此外,虽然我尝试使用标准手势进行此操作,但随后我转向了自定义手势,我已经编程为尽快失败(检查开始位置,如果它不支持我的手势所需的方向,则立即失败,而不是而不是等待一堆touchesMoved得出相同的结论)。如果您不想干扰子视图的手势,请尽可能积极地让您的手势失败。也许这不是滑动手势的问题,但如果您发现您的手势最终会显着改变子视图的行为,则可能需要考虑。

但我怀疑你可能只需要弄清楚哪些视图的手势会干扰你的手势,并让它们首先要求你的手势失败。

于 2013-06-25T22:46:35.500 回答
0

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

于 2013-06-25T22:25:56.217 回答