前言
由于項(xiàng)目需要用到k線圖濒析,但是在網(wǎng)上搜索了很多都不太理想概漱,大概看了一下暂题,理了一下思路決定自己寫移剪。這些都是使用最簡(jiǎn)單的畫圖寫出來的,并沒有那么多高深的東西薪者。
k線圖簡(jiǎn)單來說有三點(diǎn):
- 畫線(背景線纵苛,x軸,y軸)
- 主要內(nèi)容(k線言津,分時(shí)圖折線)
- 手勢(shì)(左右滑動(dòng)手勢(shì)攻人,放大縮小,長(zhǎng)按顯示十字線)
一悬槽、計(jì)算坐標(biāo)贝椿,長(zhǎng)按手勢(shì)UILongPressGestureRecognizer
長(zhǎng)按出現(xiàn)數(shù)據(jù)
二、添加了左右滑動(dòng)手勢(shì)
使用以下觸摸方法來控制位移
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
-(void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
首先要計(jì)算出手指移動(dòng)的距離
陷谱、方向
,根據(jù)距離來確定移動(dòng)了多少個(gè)元素,使用代理方法LSSKLineViewDelegate
在vc里進(jìn)行數(shù)據(jù)的操作
左右移動(dòng)
三烟逊、這次增加了捏合手勢(shì)UIPinchGestureRecognizer
渣窜,捏合手勢(shì)首先需要注意兩指的第一個(gè)手指是左邊還是右邊
NSUInteger touchCount = ges.numberOfTouches;
//第一個(gè)手指坐標(biāo)
CGPoint currentOnePoint = [pGesture locationOfTouch: 0 inView:pointView ];
//第二個(gè)手指坐標(biāo)
CGPoint currentTwoPoint = [pGesture locationOfTouch: 1 inView:pointView ];
捏合手勢(shì)
終于找到之前的項(xiàng)目了,由于是4年前的項(xiàng)目宪躯,整體比較亂乔宿,也有一些bug,暫時(shí)供參考思路访雪,稍后可能重構(gòu)加注釋之類的吧
DEMO