Scroll的响应链问题

背景情况:

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而达不到理想效果的情况。核心代码如下:

判断手势是否响应
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,294评论 4 61
  • 想起来,爸年轻时候脾气挺暴躁的,我们都怕他。虽说我是他们的小棉袄总是要受宠一些,但是爸一瞪起眼来,照样大气不敢出的...
    两个栗子阅读 420评论 4 4
  • https://zhuanlan.zhihu.com/p/21399808
    董江阅读 111评论 0 0
  • 今夕何夕 我的思念沉入黑夜,看 一轮圆月缓缓升起 清清的冷遮住岁月无情的伤 一朵去年开过的花向我 招手示意。仿佛 ...
    蔚霐_d38f阅读 251评论 3 6
  • ◆★◆一花一木是上海家化最年轻的品牌,是时尚、高品质、独特肤感的产品。由上海家化特邀首屈一指的日本贵妇级化妆品之父...
    2e88c3f0026c阅读 1,204评论 3 0