我的主视图 Controller 包括一个 TableView 以及右侧的一个单独 View ,当用户向左平移时折叠起来。
我在这个 Controller 上设置了一个 PanGestureRecogniser 以便用户可以使用它在两个 View 之间切换。除了一个问题外,它工作正常。
当只有一个或两个单元格时,用户需要使用底部未被单元格覆盖的空白区域进行平移。当有单元格覆盖整个 View 时,或者当用户向左平移时,单元格的滑动删除功能会被激活,因为平移手势总是会触发滑动手势。
我想保留滑动删除功能,但仅当用户在单元格上向右滑动时。
任何向左滑动/平移都应始终展开右侧的第二个 View 。我正在使用自定义 UITableViewCell 子类。有什么方法可以禁用仅向左滑动进入删除模式吗?
最佳答案
这是完全有可能的。
这是代码。将相同的内容添加到您的 - (void) viewDidLoad
方法:
UISwipeGestureRecognizer * newSwipeGR = [[UISwipeGestureRecognizer alloc] initWithTarget:nil action:nil];
newSwipeGR.direction = UISwipeGestureRecognizerDirectionLeft;
newSwipeGR.numberOfTouchesRequired = 1;
[self.myTableView addGestureRecognizer:newSwipeGR];
仍然像往常一样启用删除模式,但您现在发现删除滑动只能在一个方向上起作用。
关于ios - 在 UITableViewCell 上禁用仅向左滑动。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13050621/