美文网首页四五20
地图显示路线详情滑动效果

地图显示路线详情滑动效果

作者: 四五20 | 来源:发表于2019-07-14 18:29 被阅读0次

    这是我要做的需求


    map.gif
    • 细化功能
      ☑️ 接入高德地图
      ✅ 通过偏移量改变透明度
      ✅ KVO监听实现路线视图frame的改变
      ✅ 滑动列表不影响地图点击
      ✅ 滑动结束根据偏移量确定列表最终位置(待优化)
      ☑️滑动结束更新地图边界
      ☑️点击路线视图自动切换列表偏移量(分三级)
      ☑️横向滑动路线视图并重新绘制地图路线

    大概就这么多慢慢去实现

      说实话,就列表滑动这一块就卡了我一个多礼拜,然后我就看到了这个兄弟的Demo
      通过改变tableview的内边距,重写hitTest:(CGPoint)point withEvent:(UIEvent *)event方法,当pointy值小于0时,返回nil,这样就可以穿透tableview直接操作地图了。
      当偏移量达到屏幕中间再继续向上滑动时,才根据偏移量计算透明度。
      因为改变了内边距,所以显示路线的view就不能放在tableview上了。我的解决办法是,给tableview设置一个空白的headerview,用KVO监听tableview的偏移量并实时更新路线视图的frame
      实现列表滚动停止,根据偏移量来确定最终位置。我这里是将屏幕三等分作为阈值,当偏移量在屏幕上部三分之一时,列表最终会置顶。当偏移量在屏幕中间的三分之一时,列表会居中显示。当偏移量在屏幕下部三分之一时,列表会置底,只显示出路线视图。后期会根据百度地图来修改的。

    详细的还是看代码吧,里面有详细的备注。
    Demo地址
    简书地址

    相关文章

      网友评论

        本文标题:地图显示路线详情滑动效果

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