用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(, , , );
self.shapeLayer.fillColor = [UIColor clearColor].CGColor;
self.shapeLayer.strokeColor = [UIColor redColor].CGColor;
self.shapeLayer.borderWidth = .f;
self.shapeLayer.path = bezierPath.CGPath; // 添加layer
[self.view.layer addSublayer:self.shapeLayer]; // 添加定时器
self.timer = [NSTimer scheduledTimerWithTimeInterval:.f
target:self
selector:@selector(timerEvent)
userInfo:nil
repeats:YES];
} - (void)timerEvent {
CGFloat percent = arc4random() % / .f;
self.shapeLayer.strokeEnd = percent;
NSLog(@"%.1f%%", percent * );
} @end
细节

贝塞尔曲线的坐标原点是以shapeLayer的(0,0)点计算的,注意哦,亲!
用CAShapeLayer写股市K线图动画效果的更多相关文章
- 如何从零绘制k线图 -- 原生js canvas图表绘制
样式如下图 源码地址: https://github.com/sutianbinde/charts 编写这个需要具备canvas基础,如果没有canvas基础可以学习我前面的cnavas基础博客. 具 ...
- WPF中使用amCharts绘制股票K线图
原文:WPF中使用amCharts绘制股票K线图 本想自己用GDI绘图, 通过数据直接绘制一张蜡柱图, 但觉得这样子的功能比较少, 所以到网上搜索一些能画出K线图的控件. 发现DynamicDataD ...
- K线图学习
本博文(适合入门的股民朋友)内容来自网络,股市有风险,入市需谨慎 一.起源 K线图(Candlestick Charts)又称蜡烛图.日本线.阴阳线.棒线等,常用说法是“K线”,起源于日本十八世纪德川 ...
- 如何看K线图基础知识
在日K线图中一般白线.黄线.紫线.绿线依次分别表示:5.10.20.60日移动平均线,但这并不是固定的,会根据设置的不同而不同,比如你也可以在系统里把它们设为5.15.30.60均线. 你看K线图的上 ...
- C#下如何用NPlot绘制期货股票K线图(3):设计要显示的股票价格图表窗口并定义相应类的成员及函数
[内容简介] 上一篇介绍了要显示K线图所需要的数据结构,及要动态显示K线图,需要动态读取数据文件必需的几个功能函数.本篇介绍要显示蜡烛图所用到的窗口界面设计及对应类定义.下面分述如下: [窗口界面] ...
- 股票K线图-JfreeChart版
http://blog.csdn.net/ami121/article/details/3953272 股票K线图-JfreeChart版 标签: jfreechartpropertiesapplet ...
- 在MPAndroidChart库K线图的基础上画均线
CombinedChart 可以直接使用MPAndroidChart库里面提供的CombinedChart实现组合图形 Demo:CombinedChartDemo ------分割线(如果想在一个图 ...
- android 股票K线图
现在在手上的是一个证券资讯类型的app,其中有涉及到股票行情界面,行情中有K线图等,看到网上很多人在求这方面的资料,所以我特地写了一个demo在此处给大家分享一下. 下面是做出来的效果图: 这个 界面 ...
- 【带着canvas去流浪(5)】绘制K线图
目录 一. 任务说明 二. 重点提示 三. 示例代码 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园地址:<大史住在大前端>原创博文 ...
随机推荐
- 面试题27:单链表向右旋转k个节点
Given a list, rotate the list to the right by kplaces, where k is non-negative. For example:Given1-& ...
- SpringBoot入门 (六) 数据库访问之Mybatis
本文记录学习在SpringBoot中使用Mybatis. 一 什么是Mybatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 ...
- 【转】marquee标签简介
本文转自:http://www.360doc.com/content/12/0818/16/8351655_230872993.shtml marquee语法 <marquee>&l ...
- Linux IPC机制 - 函数总结
以下表格为IPC的函数总结,IPC包括: 1. 无名管道(Pipe):http://www.cnblogs.com/Jimmy1988/p/7553069.html 2.有名管道(FIFO):http ...
- 关于Win8快速启动失效解决
注册表修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 下BootExecute值为 autocheck空格 ...
- WPF Trigger for IsSelected in a DataTemplate for ListBox items
<DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlugView /> ...
- win7下使用IIS服务器及自定义服务器端包含模块(SSI)步骤
配置完过段时间就容易忘记,特此记录. 1.开启IIS服务器. 默认没有安装,需要先安装. 打开控制面板–> 打开“程序和功能”–> 左侧选择“启用或关闭windows功能”–> 找到 ...
- [Linux] Linux系统(登陆、退出、修密码)
登录linux系统,就是输入用户名,密码,回车就可以了 修改密码 使用命令passwd,输入新密码和确认密码,密码的规则要求较严,多试几次 使用命令whoami,查看当前用户信息 使用命令users或 ...
- SSH框架中NoSuchMethodError: antlr.collections.AST.getLine()的解决方案
问题: 当配置好SSH框架后,使用Hibernate的Query功能时发生如下异常: NoSuchMethodError: antlr.collections.AST.getLine() 原因: St ...
- 手动实现一个简单的ArrayList
import org.omg.CORBA.PUBLIC_MEMBER; import java.io.Serializable; import java.util.*; import java.uti ...