美文网首页iOS精选iOS开发之常用技术点
撸了一套iOS k线,与君共勉

撸了一套iOS k线,与君共勉

作者: Yochi | 来源:发表于2018-10-18 16:59 被阅读34次

    博客好久没更新,今天心血来潮,把最近撸的一套k线分享出来,除了缩放有些抖动外,其他操作都非常流畅,如果用得着不妨试试。


    k线效果 demo界面

    demo下载地址 有什么问题,可以在下面留言

    功能需求

    • 蜡烛图,指标图
    • 双击横屏切换
    • 界面缩放
    • 长按显示十字线,查看指标

    实现思路

    • UIScrollView 作为最底层容器,保证滑动的流畅性
    • 使用 贝塞尔曲线CAShapeLayer 撸k线
    • 使用TALib框架计算ma,kdj,macd等这些指标
    • 只绘制屏宽的k线,确保k线显示的比例和减少性能损耗
    • 监听UIScrollView的滚动,滑动超过一个蜡烛图宽是,更新k线界面

    类结构图

    类结构图

    代码细节

    * k线只需获取:高、开、低、收、量五个数据,其他数据均由TALib框架,在本地计算

    • k线类,均遵循 Cocoa_ChartProtocol协议
    • 代码实现逻辑,基本均遵循此思路
      //外部调用
      - (void)refreshChartView;
      
      // 蜡烛图为核心界面,所有界面,均由它带动
      
      /** 计算屏幕可显示蜡烛图个数 */ 
      [self initCurrentDisplayModels];
      
       /** 计算当前最大值,最小值 */ 
       [self calcuteMaxAndMinValue];
       
       /** 绘制k线 */
       [self drawCandleSublayers];
       
       /** 绘制均线 */
       [self drawMaSublayers];
      

    代码的具体实现看上面demo,现在线上两个APP在用它,项目中的一些改动可能没有更新到demo中,有问题朋友可以在下面留言哦!!!

    相关文章

      网友评论

        本文标题:撸了一套iOS k线,与君共勉

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