【iOS】图表实现-总述
在开发中,我们常常遇到图表的情形。有柱状图、折线图、扇形图等等。如果我们手动实现这些会很麻烦,毕竟在不同项目中有不同的样式和展示。我们就需要在不同项目中实现不一样的代码。这时候就需要使用一些方便的第三方库。
前几周,在项目遇到了使用图表的情况。一个折线图和一个扇形图。在github上一搜图表就会出现很多第三方库来帮我们实现这一功能。根据收藏和点赞的数量我筛选出了两个相当好的三方库。AAChartKit和Charts。这两个库点赞和收藏量很高。在我的项目中我开始使用的是AAchartKIT,但是后来还是使用的Charts。
下面我给你详细分析下这两个三方库的优缺点。
AAChartKit:
优点:
1.集成方便。
AAchartKIT有两个版本一个是OC版,一个是Swift版。由于我现在的工程是OC版,我就只使用了OC版本。集成简单,直接拖入工程中,在需要使用图表的界面引入头文件即可使用。
2.使用方便。
数据操作比较简单,直观。
缺点:
1.暂不支持cocoapods导入,据说已经在开发中了。
2.暂不支持自定义点击出现的MarkView。
3.也不支持获取点击图表的事件。
Charts
优点:
1.功能强大。
只要你能想到的图表相关功能,他都能实现。
2.网上教程比较多。
Charts在上github有近2w的关注量。历史比较久。
缺点:
1.集成复杂。
Charts使用Swift编写,在OC项目中使用会比较复杂。
2.使用也比AAChartKIT复杂。
由于可以自定义属性比较多,所以使用起来比较复杂。
由于AAchartKIT使用简单,且是用OC编写,和我项目编写语言一致。我最开始就使用的它,图表是很简单就实现了。但是由于它不支持自定义点击后出现的MarkView,只能放弃了。转而使用Charts,虽然他使用比较复杂,但是可自定义性很高。我可以自己设置各种样式。但是需注意OC和Swift的一些区别和使用习惯的不同。
总结:
如果你只需要最基本的图表功能,不需要高度自定义,推荐使用AAchartKIT。毕竟他集成和使用方便(最好是不需要点击数据反应,只是仅仅展示的时候)。
如果你需要自定义多一点的东西,想什么点击后出现的MarkView,各种间隔线,点击后的事件等等,就需要使用Charts。
希望这两个库越来越好,更方便大家的使用。
【iOS】图表实现-总述的更多相关文章
- iOS 图表工具charts之CombinedChartView
关于charts的系列视图介绍传送门: iOS 图表工具charts介绍 iOS 图表工具charts之LineChartView iOS 图表工具charts之BarChartView iOS 图表 ...
- Vue + Element-ui实现后台管理系统(1) --- 总述
总述 一.项目效果 整体效果 登陆页 后台首页 用户管理页 说明 这里所有的数据都不是直接通过后端获取的, 而是通过Mock这个工具来模拟后端返回的接口数据. 附上github地址: mall-ma ...
- JHChart 1.1.0 iOS图表工具库中文ReadMe
JHChart(最新版本1.1.0) 好吧,的确当前的github上已经存有不少的iOS图表工具库,然而,当公司的项目需要图表时,几乎没有哪个第三方能够完全满足我的项目需求.无奈之下,本人不得不花费一 ...
- Java的多线程机制系列:(一)总述及基础概念
前言 这一系列多线程的文章,一方面是个人对Java现有的多线程机制的学习和记录,另一方面是希望能给不熟悉Java多线程机制.或有一定基础但理解还不够深的读者一个比较全面的介绍,旨在使读者对Java的多 ...
- 三国杀3v3心法——总述篇
昔日,独孤求败前辈精研剑法,将其中奥妙化为独孤九剑,破尽天下武功.其中开篇总诀式提纲挈领,从宏观的层面阐述剑道,是领悟后面八式的基石,而之后各式则深入微观,可各破一类具体的武功.笔者亦曾苦心研究三国杀 ...
- Web应用程序系统的多用户权限控制设计及实现-总述【1】
中大型的Web系统开发均需要权限的配置,基于多角色,多用户的操作权限管理是一个系统开发的基础.搭建好一套权限,用户,角色,页面一体的开发架构,可以用于后期业务的开发,同时也可用于不同业务的系统开发. ...
- Linux makefile教程之总述二[转]
Makefile 总述——————— 一.Makefile里有什么? Makefile里主要包含了五个东西:显式规则.隐晦规则.变量定义.文件指示和注释. 1.显式规则.显式规则说明了,如何生成一个或 ...
- [转载]iOS面试题总
转载自:http://blog.sina.com.cn/s/blog_67eb608b0101r6xb.html (2014-06-13 20:23:33) 转载▼ 标签: 转载 crash 原文 ...
- Solr4.8.0源码分析(5)之查询流程分析总述
Solr4.8.0源码分析(5)之查询流程分析总述 前面已经写到,solr查询是通过http发送命令,solr servlet接受并进行处理.所以solr的查询流程从SolrDispatchsFilt ...
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序
很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用m ...
随机推荐
- Chiplet封装技术的应用现状
这是IC男奋斗史的第39篇原创 本文1651字,预计阅读4分钟. 接上文:Chiplet解决芯片技术发展瓶颈 Chiplet封装的产品介绍 以下介绍几款国内外使用Chiplet封装技术的代表产品,包括 ...
- Oracle 客户端深度指南:SQL Developer 与 PL/SQL Developer 全面安装使用教程
作为拥有10年Oracle开发经验的资深工程师,我将为您提供一份专业级的客户端工具指南.无论您是初学者还是进阶开发者,本教程都将帮助您高效使用Oracle生态中最强大的两个工具. 一.工具对比与选择建 ...
- 在线人民币大小写转换工具html代码
该工具旨在帮助用户方便地将人民币金额从小写转换为大写,只需输入金额,点击转换按钮,即可快速获得准确的大写表示.工具界面简洁友好,支持输入各种格式的大写金额,如"1356.78元". ...
- 支持向量机(SVM)分类
支持向量机(Support Vector Machine,SVM)是一种经典的监督学习算法,主要用于分类任务,也可扩展到回归问题(称为支持向量回归,SVR).其核心思想是通过寻找一个最优超平面,最 ...
- C++ ::网易云课堂 翁恺http://study.163.com/course/courseMain.htm?courseId=271005 相关笔记
两个 :: 表示全局的前面没有更上任何的东西. cpp 指令 c pre process 预处理 g++ c.cpp --save-temps保存所有中间文件 int a;叫做定义 extern in ...
- SpringBoot--学会配置日志
理解SpringBoot 的日志设计 在项目中导入spring-boot-starter.jar依赖,它会传递 导入spring-boot-starter-logging.jar依赖,依赖关系如下图: ...
- Android List数组列表自定义排序
自定义排序 例如:根据文件的最后修改时间进行排序,最新文件在前 Collections.sort(lstFiles, new Comparator<FileListData>() { @O ...
- Darkreader插件导致B站评论区“更多评论”不显示
解决方案: 在高级设置中把B站css中的".button:before"那里删掉即可
- Linguistics-English-区分词义 的 常义&反义 结合判断法- "正常的" 三个单词的 Normal/Abnormal -> Regular/Irregular -> Ordinary/Extraordinary
Linguistics-English-区分词义 的 常义&反义 结合判断法 "正常的" 的 三个单词(Normal/Regular/Ordinary)的词义辨析 -> ...
- SSL/TLS的认证和加密问题
基本概念 TLS TLS(Transport Layer Security) 是保证数据在互联网上安全传输的加密协议:保证数据在传输的过程中中间的人无法解密,无法修改.TLS 要解决的问题就是,能证明 ...