Nag*_*h M 13 iphone objective-c ios5 uiswipegesturerecognizer swipe-gesture
我添加了这段代码 cellForRowAtIndexPath
UISwipeGestureRecognizer *gestureR = [[UISwipeGestureRecognizer alloc]
initWithTarget:self action:@selector(handleSwipeFrom:)];
[gestureR setDirection:UISwipeGestureRecognizerDirectionRight];//|UISwipeGestureRecognizerDirectionRight)];
[cell addGestureRecognizer:gestureR];
Run Code Online (Sandbox Code Playgroud)
它工作正常.但我想要UISwipeGestureRecognizerDirectionLeft这样添加
[gestureR setDirection:UISwipeGestureRecognizerDirectionLeft|UISwipeGestureRecognizerDirectionRight)];
Run Code Online (Sandbox Code Playgroud)
当我检查方向和状态时,我总是得到3 = 3
- (void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
NSLog(@"%d = %d",recognizer.direction,recognizer.state);
}
Run Code Online (Sandbox Code Playgroud)
如果我只申请一个手势,它可以正常工作.我试着逐个添加两个手势.但它只会响应一个手势.
如何添加第二个手势.我直接添加到一个手势到TableView另一个到单元格,但现在使用.
Neo*_*Neo 23
试试这个
UISwipeGestureRecognizer* gestureR; gestureR = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom)] autorelease]; gestureR.direction = UISwipeGestureRecognizerDirectionLeft; [view addGestureRecognizer:gestureR]; gestureR = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom)] autorelease]; gestureR.direction = UISwipeGestureRecognizerDirectionRight; // default [view addGestureRecognizer:gestureR];
如果要在左右滑动中处理不同的功能,只需更改选择器即可.
如果你使用它会更好,而不是两次alloc
UISwipeGestureRecognizer* recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipe:)];
[recognizer setDirection:UISwipeGestureRecognizerDirectionLeft+UISwipeGestureRecognizerDirectionRight];
[cell addGestureRecognizer:recognizer];
Run Code Online (Sandbox Code Playgroud)
并在动作中获取滑动方向:
-(void)handleSwipe:(UISwipeGestureRecognizer *) sender
{
if (sender.direction == UISwipeGestureRecognizerDirectionLeft)
{
//do something
}
else //if (sender.direction == UISwipeGestureRecognizerDirectionRight)
{
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
我知道你问这个问题已经很久了.但请在您的问题中再次阅读以下行.
[gestureR setDirection:UISwipeGestureRecognizerDirectionRight|UISwipeGestureRecognizerDirectionRight)];
你有没有意识到你加入UISwipeGestureRecognizerDirectionRight.两次!!
:d
| 归档时间: |
|
| 查看次数: |
20275 次 |
| 最近记录: |