`
zhy584520
  • 浏览: 183540 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

UITableView与UIPageViewController的UIPanGestureRecognizer手势冲突解决办法

    博客分类:
  • IOS
 
阅读更多

最近在项目中使用了UIPageViewController来翻页,在VIEW上又使用了UITableView,两者都有一个UIPanGestureRecognizer手势,在UITableView上托动的时候两者都接收到了这个UIPanGestureRecognizer手势,

这样的话,会导致手势混乱。解决思路:当触发一个UIPanGestureRecognizer手势的时候,另外一个不响应。这样就不冲突了。

直接上代码解决代码啦,记录一下UIPageViewController的旅程。

 

第一步:设置UIPageViewController的手势委托

    self.view.gestureRecognizers = self.pageViewCtrl.gestureRecognizers;
    for (UIGestureRecognizer* recognizer in self.pageViewCtrl.gestureRecognizers) {
        recognizer.delegate=self;
    }

 第二步:利用-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer

来解决冲突。

#pragma mark resolve UITableView and UIPageViewController panGesture Conflict
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    if ([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] &&
        [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
        return NO;
    }
    return NO;
}

 

分享到:
评论
1 楼 dcj3sjt126com 2014-10-16  
您好,我情况和您一样,然后我按照这个方式做了之后,没有效果,还是一样可以,请问您是如何做到的,可以留个联系方式吗,我的QQ是:1413161683

相关推荐

    scrollView嵌套tableView的手势冲突解决方案iOS

    通过深入理解这些方法并根据实际场景进行适配,开发者可以有效地解决ScrollView与TableView嵌套时的手势冲突问题,实现流畅的用户体验。 总之,FSScrollViewNestTableView项目提供了一种处理iOS中ScrollView和...

    ios-侧滑 手势冲突.zip

    在这个“ios-侧滑 手势冲突.zip”项目中,开发者遇到了一个常见的问题:自定义的手势与ScrollView内部的手势发生冲突,这会影响用户体验并可能导致功能失效。下面我们将详细探讨这个问题以及解决策略。 首先,让...

    IOS中多手势之间的冲突和解决办法

    IOS中多手势之间的冲突和解决办法 UIImageView默认是不支持交互的,也就是userInteractionEnabled=NO ,因此要接收触摸事件(手势识别),必须设置userInteractionEnabled=YES(在iOS中UILabel、UIImageView的...

    MMDrawerController手势冲突

    然而,在实际使用过程中,由于MMDrawerController自身的手势识别机制和UIScrollView(包括其子类如UITableView、UICollectionView)的手势识别机制存在冲突,可能会导致用户体验不佳或者功能无法正常工作。...

    IOS中实现UITableView的各种手势操作

    基于手势操作的UITableView,实现cell左右滑动,点击cell扩展等效果。划动列表cell的动作有挺不错的bounce(弹性)效果。 编译测试,适用环境:Xcode 4.5, iOS 5.0 以上。

    ios-页面底部手势交互滚动UITableView.zip

    然而,"JXBottomSheetTableView"项目提供了一种解决方案,使得UITableView可以实现可手势交互的上下滚动,为用户提供了更为自然和直观的操作体验。 项目作者pujiaxin33在GitHub上开源的"JXBottomSheetTableView"库...

    UISCrollView与UITableView嵌套使用

    为了解决`UIScrollView`与`UITableView`嵌套使用时的滑动冲突问题,开发者通常采用以下几种策略: 1. **禁用`UIScrollView`的滑动**:如果希望用户能够在`UITableView`内进行滑动操作而不受外部`UIScrollView`的...

    UITableView 的缩放和展开

    6. **手势冲突**:当一个cell内包含其他交互元素时,需要注意手势冲突的问题。可能需要调整手势识别器的顺序,或者使用`UITableView`的`allowsMultipleSelectionDuringEditing`属性来控制用户的选择行为。 7. **...

    代码实现 UITableView与UITableViewCell

    这个标题“代码实现UITableView与UITableViewCell”指的是如何通过编程方式设置和管理UITableView及其单元格(UITableViewCell)。在描述中提到了一个链接,指向了CSDN博客上的一篇文章,该文章可能提供了更详细的...

    一个多UITableview的左右滑动简单解决方案.docx

    - **手势冲突**:当UIScrollView的上下滑动手势开启时,可能会与UITableView的滑动冲突。解决这个问题的方法是将ScrollView的contentSize高度设置为0,关闭垂直滚动。 - **tag的使用**:在代码中可能需要通过tag来...

    UITableView 和手势

    在UITableView中给每个UITableViewCell添加一个长按手势,在长按手势触发时,不会触发tableview的didSelectRowAtIndexPath方法,这样就不知道长按的是哪个cell,有一种简单的方法可以获得cell所在的indexPath。

    UITableView高度自适应解决方法

    本教程将详细介绍如何解决这个问题,同时提供源码下载供参考。 一、了解问题 在默认情况下,UITableView的cell高度是固定的,这可能导致内容过长的cell被截断,或者内容过少的cell占用过多空间。为了使cell高度根据...

    修改前的项目

    然而,当这种手势与UITableView或其他可滚动视图相结合时,可能会出现"手势冲突"的问题,也就是标题中提到的“修改前的项目”的主要问题。 手势冲突是指两个或多个手势识别器(UIPanGestureRecognizer或...

    UITableView手指横向滑动触发事件

    为了监听滑动手势,你可能还需要使用`UITableView`的`panGestureRecognizer`属性,或者创建一个新的`UIPanGestureRecognizer`并将其添加到单元格上。这样,当用户进行横向滑动时,你可以捕获手势的改变并相应地处理...

    可以移动的UITableView

    可以添加一个UIPanGestureRecognizer到UITableView上,然后在手势的处理函数中,根据手势的位移更新UITableView的frame。同时,需要确保在移动过程中对边界进行检查,防止表格超出父视图的范围。 此外,为了保持...

    UITableView、UITableView基本用法、UITableView详解

    iOS 开发中 UITableView 的使用详解 UITableView 是 iOS 开发中最常用的控件之一,用于显示列表数据。它类似于 Android 中的 ListView,都是用于显示列表数据的控件。在 iOS 开发中,UITableView 是一个非常重要的...

    UITableView与UITableViewCell

    在iOS开发中,UITableView是用于显示数据的一种常见控件,它可以以列表的形式展示信息,而UITableViewCell则是构成这个列表的基本单元,每一行数据对应一个单元格。以下是对UITableView和UITableViewCell的详细解析...

    UITableView

    在Swift中,UITableView的使用涉及到多个知识点,包括数据源协议、委托协议、Cell的重用机制、自定义Cell以及手势识别等。下面将详细阐述这些关键概念。 1. 数据源协议(UITableViewDataSource): 数据源协议是...

    React-reactinfinity一个类似于UITableView的列表和网格显示解决方案具有元素选择和平滑动画

    React-infinity是一个专门为React开发的组件库,它提供了一个类似于苹果iOS系统中UITableView的列表和网格显示功能。这个库特别适合处理大量数据的展示,因为它实现了无限滚动效果,能够高效地加载和渲染大量条目,...

Global site tag (gtag.js) - Google Analytics