用CAShapeLayer写股市K线图动画效果

用CAShapeLayer写股市K线图动画效果

 

说明

入市有风险,炒股需谨慎。(因项目需求,本人提供了写这种效果的源码)

 

效果

 

源码

//
//  ViewController.m
//  Path
//
//  Created by YouXianMing on 15/5/11.
//  Copyright (c) 2015年 YouXianMing. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic, strong) NSTimer       *timer;
@property (nonatomic, strong) CAShapeLayer  *shapeLayer;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // 生成贝塞尔曲线
    UIBezierPath* bezierPath = UIBezierPath.bezierPath;
    [bezierPath moveToPoint: CGPointMake(4.5, 2.5)];
    [bezierPath addLineToPoint: CGPointMake(32.5, 59.5)];
    [bezierPath addLineToPoint: CGPointMake(79.5, 10.5)];
    [bezierPath addLineToPoint: CGPointMake(144.5, 69.5)];
    [bezierPath addLineToPoint: CGPointMake(175.5, 15.5)];
    [bezierPath addLineToPoint: CGPointMake(211.5, 48.5)];
    [bezierPath addLineToPoint: CGPointMake(217.5, 23.5)];

    // 产生layer
    self.shapeLayer             = [CAShapeLayer layer];
    self.shapeLayer.frame       = CGRectMake(0, 0, 200, 200);
    self.shapeLayer.fillColor   = [UIColor clearColor].CGColor;
    self.shapeLayer.strokeColor = [UIColor redColor].CGColor;
    self.shapeLayer.borderWidth = 1.f;
    self.shapeLayer.path        = bezierPath.CGPath;

    // 添加layer
    [self.view.layer addSublayer:self.shapeLayer];

    // 添加定时器
    self.timer = [NSTimer scheduledTimerWithTimeInterval:1.f
                                                  target:self
                                                selector:@selector(timerEvent)
                                                userInfo:nil
                                                 repeats:YES];
}

- (void)timerEvent {
    CGFloat percent           = arc4random() % 100 / 100.f;
    self.shapeLayer.strokeEnd = percent;
    NSLog(@"%.1f%%", percent * 100);
}

@end

细节

贝塞尔曲线的坐标原点是以shapeLayer的(0,0)点计算的,注意哦,亲!

时间: 2025-01-02 01:29:03

用CAShapeLayer写股市K线图动画效果的相关文章

Android版的股票行情K线图开发_Android

现在在手上的是一个证券资讯类型的app,其中有涉及到股票行情界面,行情中有K线图等,看到网上很多人在求这方面的资料,所以我特地写了一个demo在此处给大家分享一下. 下面是做出来的效果图: 背景图是利用canvas先画出一个矩形,然后再画几根虚线,均线图是通过path来绘制的,总之图的绘制是很简单的,我就不在这里作介绍了,大家可以去github下载源码看看.涉及到均线.最高价.最低价.收盘价.开盘价的概念大家可以百度一下. 我再这里要介绍的是计算问题: 大家可以看到分时图.日K.月K的左边的成交

Android版的股票行情K线图开发

现在在手上的是一个证券资讯类型的app,其中有涉及到股票行情界面,行情中有K线图等,看到网上很多人在求这方面的资料,所以我特地写了一个demo在此处给大家分享一下. 下面是做出来的效果图: 背景图是利用canvas先画出一个矩形,然后再画几根虚线,均线图是通过path来绘制的,总之图的绘制是很简单的,我就不在这里作介绍了,大家可以去github下载源码看看.涉及到均线.最高价.最低价.收盘价.开盘价的概念大家可以百度一下. 我再这里要介绍的是计算问题: 大家可以看到分时图.日K.月K的左边的成交

android 股票K线图

现在在手上的是一个证券资讯类型的app,其中有涉及到股票行情界面,行情中有K线图等,看到网上很多人在求这方面的资料,所以我特地写了一个demo在此处给大家分享一下. 下面是做出来的效果图: 这个 界面 是如何画出来的我就不做介绍了,大家可以去下载项目源码. 背景图是利用canvas先画出一个矩形,然后再画几根虚线,均线图是通过path来绘制的,总之图的绘制是很简单的,我就不在这里作介绍了,大家可以去github下载源码看看.涉及到均线.最高价.最低价.收盘价.开盘价的概念大家可以百度一下. 我再

asp.net(c#) 怎么画股票的K线图。请高手给一例子参考,谢谢!

问题描述 asp.net(c#)怎么画股票的K线图.请高手给一例子参考,谢谢! 解决方案 解决方案二:自己先顶一下!解决方案三:可以用这个控件WebChart或自己写:解决方案四:能指引一下,自己写怎么写吗,贴个例子看看或关于这方面的资料谢谢解决方案五:ytytyt 解决方案六:画一个实心矩形,一条线就是K线了.然后就是画其它的均线,曲线解决方案七:用第三方控件dundas解决方案八:teechart也可以

一起谈.NET技术,WPF中使用amCharts绘制股票K线图

本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataDisplay挺好的, 在它的开发截图里也发现可以绘制蜡柱图, 但文档好像做的不是很好, 不知道怎么用它来画, 在寻找它比较好的例子的时候发现有人推荐用amCharts绘制, 所以便去看了一下, 发现挺好用的, 效果如下: 准备工作 先要去这里下载amCharts Stock Chart for WPF并解压, 新建一个WPF Project, 在T

WPF中使用amCharts绘制“.NET技术”股票K线图

本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataDisplay挺好的, 在它的开发截图里也发现可以绘制蜡柱图, 但文档好像做的不是很好, 不知道怎么用它来画, 在寻找它比较好的例子的时候发现有人推荐用amCharts绘制, 所以便去看了一下, 发现挺好用的, 效果如下: 准备工作 先要去这里下载amCharts Stock Chart for WPF并解压, 新建一个WPF Project, 在T

WPF中使用amCh“.NET研究”arts绘制股票K线图

本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataDisplay挺好的, 在它的开发截图里也发现可以绘制蜡柱图, 但文档好像做的不是很好, 不知道怎么用它来画, 在寻找它比较好的例子的时候发现有人推荐用amCharts绘制, 所以便去看了一下, 发现挺好用的, 效果如下: 准备工作 先要去这里下载amCharts Stock Chart for WPF并解压, 新建一个WPF Project, 在T

Flash饼状图,柱状图,k线图等动态图表解决资源大全

k线图|饼状图|动态|解决|图表|柱状图 FLASH 3D饼状图,2D饼状图,3D柱状图,2D柱状图,交易K线图,走势图,曲线图.... 各类FLASH+XML图表应用资源,数据直观统计应用的必备工具.... 收集详尽的FLASH商业图表的解决方案.汇总在这里,点击打开下面的网站下载资源. AnyChart Flash Chart Component Aurigma FlashChart B-Line Charting Component Corda's PopChart FusionChart

asp实现k线图(在线)

k线图|在线  可以考虑使用MSCHART,但是缺点是显示不太好看,不很专业,同时,如果客户端没有装的话就比较麻烦,因为显示不出来,所以一般的网站都采用生成图片的方式.下面给出MSCHART的一些东西,可以自己考虑着使用,我没有使用过其他的控件,所以不能给你满意的答复.另外附给你一个网址,www.tjinfo.com,里面有个调查题,使用了MSCHART,但是没有用折线,这个你可以自己定义的,CSDN的调查也使用了MSCHART.=================================