Iphone 覆盖UITableView上的滑动手势
我的视野很开阔。我已经在这个表中添加了一个UIGestureRecognitor,它可以在单元格上查找滑动,如果它检测到滑动,就可以在该表上进行编辑。当我向右滑动时,它确实可以在表上进行编辑。但是,当我向左滑动时,默认的红色删除按钮会出现在单元格的右侧。如何禁用此默认行为,并使其在向左或向右滑动时,以任意方式进行编辑Iphone 覆盖UITableView上的滑动手势,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我的视野很开阔。我已经在这个表中添加了一个UIGestureRecognitor,它可以在单元格上查找滑动,如果它检测到滑动,就可以在该表上进行编辑。当我向右滑动时,它确实可以在表上进行编辑。但是,当我向左滑动时,默认的红色删除按钮会出现在单元格的右侧。如何禁用此默认行为,并使其在向左或向右滑动时,以任意方式进行编辑 - (void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer { foldersTable.editing=
- (void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
foldersTable.editing=YES;
}
- (void)viewDidLoad
{
[super viewDidLoad];
UIGestureRecognizer *recognizer;
recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
[foldersTable addGestureRecognizer:recognizer];
[recognizer release];
}
UISweepGestureRecognizer上有一个方向属性。您可以将其设置为左右滑动:
recognizer.direction = UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionLeft;
只需在您的
表格视图中返回UITableViewCellEditingStyleNone
:editingStyleForRowAtIndexPath:
方法。我正在使用另一种方法来解决此问题
NSMutableArray *tableViewGestures = [[NSMutableArray alloc]initWithArray:[self.tableView gestureRecognizers]];
[[tableViewGestures objectAtIndex:2] setDirection:UISwipeGestureRecognizerDirectionLeft];
NSLog(@"directions %@" , [tableViewGestures objectAtIndex:2] );
NSArray *newTableViewGestures = [[NSArray alloc]initWithArray:tableViewGestures];
[self.tableView setGestureRecognizers:newTableViewGestures];
我得到了TableViews手势NSArray并重置了它。如果我想使用SwipegestureRecognitizerDirectionRigth,我只需要再次设置方向。这很简单。对吗?我得到了“找不到UIgestureRecognitizer类型的方向”你看到你把
UIgestureRecognitizer*Recognitizer
。。。将其更改为uisweegesturecognizer*识别器