处理 UITableView 单元格上的平移手势

Posted

技术标签:

【中文标题】处理 UITableView 单元格上的平移手势【英文标题】:Handle Pan Gesture on UITableView cell 【发布时间】:2017-11-21 07:20:51 【问题描述】:

我将MARKRangeSlider 添加到 UITableViewCell 并按预期工作。拖动手柄时,表格视图控制器也弹出到前一个视图控制器。如何避免或阻止弹出的动作?

我通过添加委托尝试了以下代码,但未能达到结果。

 - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer 
         // CGPoint velocity = [panGestureRecognizer  velocityInView:panGestureRecognizer.view];
         // return fabs(velocity.y) > fabs(velocity.x);
        CGPoint translation = [(UIPanGestureRecognizer *)gestureRecognizer translationInView:gestureRecognizer.view.superview];
        // if you want an NSString
        NSLog(@"gestureRecognizer-superview %@", NSStringFromClass([gestureRecognizer.view.superview class]) );
        return fabs(translation.x) > fabs(translation.y);
    


- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
    if (otherGestureRecognizer == leftPanRecognizer) 
        return YES;
    
    if (otherGestureRecognizer == rightPanRecognizer) 
        return YES;
    
    return NO;

它的间歇性问题。请告诉我如何处理?

提前致谢

【问题讨论】:

【参考方案1】:

我找到了解决办法,

在具有UITableViewUITableViewControllerUIViewController 中必须禁用 interactivePopGestureRecognizerviewDidAppear相同 控制器开发人员必须viewWillDisAppear 中启用 interactivePopGestureRecognizer。希望对您有所帮助。

【讨论】:

以上是关于处理 UITableView 单元格上的平移手势的主要内容,如果未能解决你的问题,请参考以下文章

ios UITableview 单个单元格上的多个选择选项?

如何在选择单元格上的 UIcollectionViewCell 特定单元格中删除长手势?

处理 UICollectionView 单元格上的滑动:在 UICollectionView 或每个单元格上实现处理程序?

UITableView 单元格未显示放置在自定义单元格上的 UITableView(KPDropDown)

更喜欢 UITableView 的重新排序控制手势而不是自定义平移手势

在 iOS 7 上的导航视图控制器上使用后退手势时,表格视图单元格上没有淡出和淡入动画