【iOS开发】k线图绘制

前言

由于项目需要用到k线图,但是在网上搜索了很多都不太理想,大概看了一下,理了一下思路决定自己写。这些都是使用最简单的画图写出来的,并没有那么多高深的东西。

k线图简单来说有三点:

  • 画线(背景线,x轴,y轴)
  • 主要内容(k线,分时图折线)
  • 手势(左右滑动手势,放大缩小,长按显示十字线)

一、计算坐标,长按手势UILongPressGestureRecognizer

长按出现数据

二、添加了左右滑动手势

使用以下触摸方法来控制位移

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event

首先要计算出手指移动的距离方向,根据距离来确定移动了多少个元素,使用代理方法LSSKLineViewDelegate在vc里进行数据的操作

左右移动

三、这次增加了捏合手势UIPinchGestureRecognizer,捏合手势首先需要注意两指的第一个手指是左边还是右边

  NSUInteger touchCount = ges.numberOfTouches;
//第一个手指坐标
  CGPoint currentOnePoint = [pGesture locationOfTouch: 0 inView:pointView ];
//第二个手指坐标
  CGPoint currentTwoPoint = [pGesture locationOfTouch: 1 inView:pointView ];
捏合手势

终于找到之前的项目了,由于是4年前的项目,整体比较乱,也有一些bug,暂时供参考思路,稍后可能重构加注释之类的吧
DEMO

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容