【发布时间】:2011-03-16 07:20:27
【问题描述】:
我试图捕捉一个手势,但它不起作用。这是我的代码:
UISwipeGestureRecognizer *recognizer;
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[recognizer setDirection:(UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionLeft)];
[[self view] addGestureRecognizer:recognizer];
[recognizer release];
和
-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
NSLog(@"get gesture");
if (recognizer.direction == UISwipeGestureRecognizerDirectionRight) {
NSLog(@"get gesture right");
}
if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft) {
NSLog(@"get gesture Left");
}
}
它总是得到一个手势,但不能识别方向。我也试过if(recognizer.direction){NSLog(@"get gesture");},它也有效,所以我不明白我在哪里犯了错误。
感谢您的帮助。
【问题讨论】:
-
您还应该使用 NSLog 识别器.direction 来调试它检测到的内容。
-
我试了但是失败了,说它不是字符串...
-
参数 1 中的类型不兼容
-
试试这个 if (recognizer.direction == 0) {NSLog(@"get gesture right"); }
-
我也试过了,但无论我向左或向右上下滑动,它总是返回 3
标签: objective-c xcode cocoa-touch uigesturerecognizer gesture