最近遇到个需求,类似高德地图分段式的弹窗(如下图),在网上在没有搜到相关资料,于是自己写了一个,期望能给大家提供个思路。
实现效果
思路就是,当弹窗处于第一段的时候,给tableView添加UIPanGestureRecognizer手势,在弹窗未到达顶部之前都是通过UIPanGestureRecognizer手势来改变弹窗坐标和大小的,当弹窗到达第二段的时候,移除UIPanGestureRecognizer手势,这时候tableView就可以响应拖动手势了,当tableView滑动到顶部的时候,在向上滑,通过scrollViewDidScroll代理方法改变弹窗坐标,当手指离开屏幕在scrollViewWillEndDragging代理方法处理最终让弹窗处于第几段。整体思路就是这样。
部分代码
核心代码就是这些,没有排版,不太会用简书写东西,多担待一下。。。
demo地址:https://github.com/SuperEvilRabbit/pickViewDemo
网友评论