我的表视图上方有一个文本字段。并且每当文本字段被聚焦时,都会注册一个滑动手势。当识别出划动手势时,键盘将被关闭。代码对所有手势都有效,除了向上滑动手势不起作用。这是我的代码
swipe = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(dismissKeyboard)];
[swipe setDirection:UISwipeGestureRecognizerDirectionUp];有没有人能告诉我有什么问题?
发布于 2013-06-26 06:25:56
如果所有其他手势都有效,这意味着没有逻辑问题。检查拼写错误。并重新应用swipe手势,并检查所有内容(门店等)。
发布于 2013-06-26 06:46:36
我不知道这种情况,但我知道当我在自定义容器视图上有手势,然后添加了一个具有自己的手势的子视图时,我必须迭代孩子的手势,并告诉他们要求我的手势失败(即我的优先)。我已经用滚动视图成功地做到了这一点:
for (UIGestureRecognizer *gesture in self.scrollView.gestureRecognizers)
{
[gesture requireGestureRecognizerToFail:myGesture];
}我唯一遇到的问题是像UITextView这样的视图,当你进入和退出编辑模式时,它们会删除和添加手势,所以这是一个麻烦。
此外,虽然我尝试了标准手势,但随后我已经转向自定义手势,我已经编程为尽快失败(检查开始位置,如果它不支持我的手势所需的方向,则立即失败,而不是等待一堆touchesMoved得出相同的结论)。如果你不想干扰孩子视图的动作,就尽可能地让你的动作失败。也许这不是滑动手势的问题,但是如果你发现你的手势最终明显地改变了子视图的行为,这是一个可能的考虑因素。
但我怀疑您可能只需要找出哪些视图具有干扰您的手势的手势,并让它们要求您的视图首先失败。
发布于 2013-06-26 07:41:30
你有没有可能碰到滚动视图的手势?如果您的其他手势正在工作,这似乎不太可能,但至少值得尝试UIGestureRecognizerDelegate协议中的gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:方法。
https://stackoverflow.com/questions/17308432
复制相似问题