【发布时间】:2017-02-21 15:34:06
【问题描述】:
我正在使用显示用户列表的 UITableView。我已经实现了委托方法:
- (UITableViewCellEditingStyle)tableView:(UITableView *)aTableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
通过在单元格上向左滑动来删除用户记录,它工作正常,但现在我将 UIPanGestureRecognizer 添加到控制器以通过在视图中向右滑动返回。现在这里的问题是 tableView 委托方法没有被正确调用。因此,任何帮助/建议将不胜感激如何处理此案。谢谢
这是我的 UIPanGestureRecognizer 操作:
-(void)performAction:(UIPanGestureRecognizer *)sender {
if (sender.state == UIGestureRecognizerStateChanged){
velocity = [sender velocityInView:self.view];
NSLog(@"Velocity X: %f Y: %f",velocity.x,velocity.y);
}
else if (sender.state == UIGestureRecognizerStateEnded){
BOOL isHorizentalMotion = fabs(velocity.x) > fabs(velocity.y);
BOOL isHorizentallyLeft = velocity.x < 0 ? YES : NO;
BOOL isHorizentallyRight = velocity.x > 0 ? YES : NO;
if (isHorizentalMotion && isHorizentallyRight) {
NSLog(@"RIGHT GESTURE");
[self menuClicked:nil];
}
}
}
【问题讨论】:
-
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(hideKeyboard:)]; tap.cancelsTouchesInView = 否; [self.view addGestureRecognizer:tap];
标签: objective-c uitableview uipangesturerecognizer