如何禁用 UITableView 上的左右滑动手势

Posted

技术标签:

【中文标题】如何禁用 UITableView 上的左右滑动手势【英文标题】:How can I disable left and right swipe gestures on a UITableView 【发布时间】:2012-05-03 19:59:53 【问题描述】:

我有一个 UIPageViewController,它在每个内容视图中都有一个大表。当我开始在 UITableView 之外向左或向右滑动时,会触发翻页效果。当我在 UITableView 的范围内向左或向右滑动时,UIPageView 控制器似乎没有进行滑动。

我已经使用以下方法关闭了表格行的编辑:

-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath

    return NO;

UITableView 似乎仍然在窃取并按住左右滑动。

【问题讨论】:

【参考方案1】:

UITableViewUIScrollView 的子类,其panGestureRecognizer 窃取触摸(用于滚动)。 tableView 可能还添加了自己的 SwipeGestureRecognizer。

如果您使用的是 ios 5,则可以尝试使用 panGestureRecognizer,但您可能会更幸运,只需使用自己的手势识别器覆盖另一个视图,然后从那里滚动 tableView。

【讨论】:

以上是关于如何禁用 UITableView 上的左右滑动手势的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 UINavigationBar 上的向右滑动手势?

如何在 iOS 7 上的 UINavigationController 中禁用向后滑动手势

向 UITableView 添加滑动手势

UITableView滑动删除iOS上的手势冲突

将删除滑动手势从 UIPageViewController 传递给 UITableView

REFrostedViewController 平移手势禁用 tableview 滑动