识别用户剪切/滑动手势 (UISwipeGestureRecognizer)
Posted
技术标签:
【中文标题】识别用户剪切/滑动手势 (UISwipeGestureRecognizer)【英文标题】:Recognize user cut/swipe gesture (UISwipeGestureRecognizer) 【发布时间】:2010-12-27 03:29:19 【问题描述】:我使用下面的代码并为'self.view'工作,但不适用于imageview和方向只能添加一个方向如何使用四个方向(右,左,uo,下)?
UISwipeGestureRecognizer *swipe =[[UISwipeGestureRecognizer alloc]initWithTarget:selfaction:@selector(sr)];
swipe.direction =UISwipeGestureRecognizerDirectionRight;
[imageview addGestureRecognizer:swipe];
[swipe release];
【问题讨论】:
剪切视图是什么意思? 表示开始触摸,例如从控件的左侧到右侧 这并不是我们在 iPhone 世界中所说的那样......或者至少我从来没有听说过这样说 像“水果忍者”中的切水果或“切绳子”中的绳子 让我看一下:在 iPhone 世界中,这被称为“SWIPE”。 【参考方案1】:代表
touchesBegan:
touchesEnded:
【讨论】:
【参考方案2】://--------在imageview分配中添加这段代码-------//
imageview.userInteractionEnabled = YES;
对于四个方向,您必须使用两个 UISwipeGestureRecognizer:-
UISwipeGestureRecognizer *swipeRightLeft =[[UISwipeGestureRecognizer alloc]initWithTarget:selfaction:@selector(sr)];
[swipeRightLeft setDirection:(UISwipeGestureRecognizerDirectionRight |UISwipeGestureRecognizerDirectionLeft )];
[imageview addGestureRecognizer:swipeRightLeft];
[swipeRightLeft release];
UISwipeGestureRecognizer *swipeUpDown =[[UISwipeGestureRecognizer alloc]initWithTarget:selfaction:@selector(sr)];
[swipeUpDown setDirection:(UISwipeGestureRecognizerDirectionUp | UISwipeGestureRecognizerDirectionDown )];
[imageview addGestureRecognizer:swipeUpDown];
[swipeUpDown release];
【讨论】:
【参考方案3】:尝试启用交互:
yourImageView.userInteractionEnabled = YES;
并添加一些方向,如下所示:
swipeRecognizer.direction = UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionLeft;
【讨论】:
【参考方案4】:如果您的应用只在 ios 3.2+ 上运行没问题,最好的方法是使用 UIGestureRecognizer
API 类。其实还有一个UISwipeGestureRecognizer
子类(docs are here)。
要做你想做的事,做这样的事情:
UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething:)];
swipe.direction = UISwipeGestureRecognizerDirectionRight;
[yourImageView addGestureRecognizer:swipe];
[swipe release];
要更改为任何其他方向,请查看上面的文档链接 - 所有四个方向都有一个常量。
【讨论】:
谢谢,我使用此代码并适用于“self.view”,但不适用于“imageview” 嘿,如果你得到了解决方案,那么你可以把它放在答案中......因为我在 imageView 手势中面临的同样问题适用于标签、视图等......如果你请发送解决方案明白了以上是关于识别用户剪切/滑动手势 (UISwipeGestureRecognizer)的主要内容,如果未能解决你的问题,请参考以下文章
快速推迟手势识别器(UISwipeGestureRecognizer)
是否可以将手势识别器附加到按钮,以便用户在按下按钮之后/期间向上滑动?