Scroll的响应链问题

作者: yzhxcql | 来源:发表于2016-08-04 19:17 被阅读2043次
    背景情况:

    loadView时创建一个scroll作为VC的view.叫BaseScroll

    • 上部分为两部分,一个是展示信息部分。
    展示信息

    �* 一个是需要悬停的部分。


    需要悬停
    • 最下部是一个ContentScroll。包含两个table
    ContentScroll
    现在的需求是
    1. 当悬停部分不在NavigationBar底部时,table执行上拉操作。table不作响应。由scroll做响应,如果scroll的contentSize足够,可以将悬停部分拉到顶部NavigationBar下方(即改变baseScroll的contentSet),悬停部分不动,如继续上拉则有table响应,滚动table的cell。如果scroll的contentSize不够,悬停部分拉上去(接触不到NavigationBar)后回弹。(table下拉将baseScroll拉回初始位置即contentOffset为0)


      悬停部分不在NavigationBar底部
    2. 当悬停部分在NavigationBar底部时,table下拉时,如果table的contentOffset 不为0,即已显示table的第一条数据时。由scroll响应事件,将悬停部分拉下来。(table上拉由table响应)


      悬停部分在NavigationBar底部
    目前的问题是
    1. 如果在scroll的代理方法里处理,事件已经传递到table上,此时不能让baseScroll处理事件。

    2. 如果在scroll的hit方法里处理响应者,无法判断当前事件是滑动还是触摸。因为baseScroll上部有按钮需要点击。

    以上。再次表示感谢。

    后记

    暂时用手势处理解决需求,但不完美。有时会出现移动量为0而达不到理想效果的情况。核心代码如下:

    判断手势是否响应

    相关文章

      网友评论

      • a95ffaa8e61e:正好是我所需要的效果。
        a95ffaa8e61e:@Adoma 3Q
        yzhxcql:https://github.com/panghaijiao/HJTabViewController

        这个效果是一样的
      • a95ffaa8e61e:请问有没有demo,借我抄一抄吧,大兄弟
      • Y木扬音:有没有具体的代码啊,大神。

      本文标题:Scroll的响应链问题

      本文链接:https://www.haomeiwen.com/subject/bythsttx.html