卡片重叠拖动效果.
在其他端经常做. 大致原理就是, N个View重叠在一起, 最上面的是100%, 后面的都适量缩放, 例如90%的宽高, 再向上偏移一部分, 露出一个上方的顶.
给最前方的View增加一个手势, 通过手势的X / Y的偏移, 基于View的X,Y的fram增减, 以达到View跟随手势拖动. 最上方的View移走了. 下方的View需要根据Y轴的变化比例, 扩大到100%的缩放比例.
第一个View
宽100%
高100%
第二个View
宽90% + 偏移比例 x 10%
高90% + 偏移比例 x 10%
framY -20 + 偏移比例 x 20
偏移比例, 就是Y轴上, 拖动的具体数值, 和最大拖动数值的比例
像是, 上下拖动100时, 后面的View就变成100%了, 那拖动比例就是 Math.abs(offsetY) / 100
至此, 就完成了拖拽移动, 后面的View跟随变化
最后,增加上,当拖动超过阈值时,让第一个 view 消失,后面数据更新,就可以了.
PS: 本地运行Preview期间, 发现一个bug. 0.7 + 0.1 还是等于0.1
不知道是我这的bug, 还是所有人都会遇到.
我只好自己写了个新的方法, 处理这个情况