录了一段简单的操作视频,直接扔百度网盘了。
链接: https://pan.baidu.com/s/1li9Q-ORycj4VMAmplWr3Iw 提取码: 49ia 复制这段内容后打开百度网盘手机 App,操作更方便哦
我的猜想:暗红色底部是一个普通的 UIViewController (暂且叫 VC1 ),嵌入一个 UIScrollView (暂且叫 SV1 ),然后白底浮层的 View 应该是在一个 UIPageViewController (暂且叫 VC2 )里面,VC2 里面的嵌套的应该是 page content view controller,其他再嵌套了 table/scroll view (暂且叫 SV2 ),然后整个 VC2 被加到 VC1 里面作为 child 。至于 pan 手势的处理,我猜想应该是应该是对直接针对两个 ScrollView 做了单独的手势冲突处理。
简单说一下实现的要点:
很想知道有没有更好的解法,期望找到更快速的 native 布局解决方法,请赐教。
1
lnim 2020-06-05 18:11:06 +08:00
没有这么复杂~ 想简单点~
三个滑动状态: A. SV1 滑动 B. SV2 顶部按住滑动 C. SV2 滑动 状态 A: SV1 的 scrollViewDidScroll 回调里边, 设置 SV2 的 frame.y 和 contentOffset 绑定 状态 B: 顶部按钮添加个手势, 拿到手势回调, 回调里边有拖动的位置 设置 SV2 的 frame.y 1, 3 这就解决了 2. 这个加个判断呗~ 滑动到一定距离的时候 关闭手势拖动~ 直接一个上滑动画 4. 这个无所谓吧, 实现方案太多了, StackView + UIScrollView || UICollectionView || UITableView |