CoreCharts
😎
使用 CoreCharts 在 iOS 上优雅地使用图表
入门
您需要一个已安装 Cocoapods 的 Mac,如果不熟悉,请访问这里 CocoaPods
需求
- XCode 8.3+
- iOS 9.3+
安装
添加 pod 文件
pod 'CoreCharts'
然后敲击你的命令行
pod install
现在您可以开始使用 CoreCharts 了
使用中
将库导入到需要的项目中
import CoreCharts
然后在Storyboard或Xib文件中打开,添加新的UIView,并将主视图拖入。之后,将子类改为Vertical以使用VCoreBarChart,或改为Horizontal以使用HCoreBarChart
引用一下!
@IBOutlet weak var barChart: VCoreBarChart!
最重要的配置已经准备好了,现在您可以使用CoreChart的一些特性属性了。
首先,您的类需要遵守数据源协议
class DemoViewController: UIViewController,CoreChartViewDataSource {
@IBOutlet weak var barChart: VCoreBarChart!
override func viewDidLoad() {
super.viewDidLoad()
barChart.dataSource = self
}
现在,您有两种方法需要实现。
func loadCoreChartData() -> [CoreChartEntry]
optional func didTouch(entryData: CoreChartEntry)
loadCoreChartData方法用于填充条形图,您需要将您的数据转换为CoreChartEntry类型
func loadCoreChartData() -> [CoreChartEntry] {
var allCityData = [CoreChartEntry]()
let cityNames = ["Istanbul","Antalya","Ankara","Trabzon","İzmir"]
let plateNumber = [34,07,06,61,35]
for index in 0..<cityNames.count {
let newEntry = CoreChartEntry(id: "\(plateNumber[index])",
barTitle: cityNames[index],
barHeight: Double(plateNumber[index]),
barColor: rainbowColor())
allCityData.append(newEntry)
}
return allCityData
}
下面是关于CoreChartEntry的其他属性。
- id = 当使用didTouch方法,并且您想要访问条形图选择的某些数据级别时,这里需要这个id。
- barTitle = ... 现在您已经知道了它是什么 :)
- ……其它属性
还有一件事…
optional func didTouch(entryData: CoreChartEntry)
这个方法是可选的,如果您想要通过选择数据级别来在不同图表屏幕之间导航
在这里,data level意味着:使用id在您数据结构中运行查询
完成。
下面是完整的代码,正如您刚刚被告知的那样,它已经在演示项目中实现了。
import CoreCharts
class DemoViewController: UIViewController,CoreChartViewDataSource {
@IBOutlet weak var barChart: VCoreBarChart!
override func viewDidLoad() {
super.viewDidLoad()
barChart.dataSource = self
}
func didTouch(entryData: CoreChartEntry) {
print(entryData.barTitle)
}
func loadCoreChartData() -> [CoreChartEntry] {
return getTurkeyFamouseCityList()
}
func getTurkeyFamouseCityList()->[CoreChartEntry] {
var allCityData = [CoreChartEntry]()
let cityNames = ["Istanbul","Antalya","Ankara","Trabzon","İzmir"]
let plateNumber = [34,07,06,61,35]
for index in 0..<cityNames.count {
let newEntry = CoreChartEntry(id: "\(plateNumber[index])",
barTitle: cityNames[index],
barHeight: Double(plateNumber[index]),
barColor: rainbowColor())
allCityData.append(newEntry)
}
return allCityData
}
}
外观定制
CoreBarChartsDisplayConfig 类
您可以使用CoreBarChartsDisplayConfig类来更改图表的用户界面外观,并且该类包含了一些属性,以下是设置的方法。
直接使用
您可以使用一次性初始化器。
import CoreCharts
class DemoViewController: UIViewController,CoreChartViewDataSource {
@IBOutlet weak var barChart: VCoreBarChart!
override func viewDidLoad() {
super.viewDidLoad()
barChart.dataSource = self
barChart.displayConfig = CoreBarChartsDisplayConfig(barWidth: 40.0,
barSpace: 20.0,
bottomSpace: 20.0,
topSpace: 20.0,
backgroundColor: UIColor.black,
titleFontSize: 12,
valueFontSize: 14,
titleFont: UIFont(),
valueFont: UIFont(),
titleLength: 12)
}
具体使用
您只需使用您所需的。
import CoreCharts
class DemoViewController: UIViewController,CoreChartViewDataSource {
@IBOutlet weak var barChart: VCoreBarChart!
override func viewDidLoad() {
super.viewDidLoad()
barChart.dataSource = self
bbarChart.displayConfig.barWidth = 10
barChart.displayConfig.barSpace = 20
barChart.displayConfig.titleFontSize = 15
}
🎉
欢迎贡献版本控制
我们使用SemVer进行版本控制。有关可用版本的信息,请参阅CoreCharts 标签。
作者
许可协议
本项目遵循MIT开源许可协议 - 详见LICENSE.md文件了解详细信息。
报错
- 如发现bug,请在问题区域提交issue。
新增特性
- 您可以在项目区域提出下一个新特性的建议。
问题
- 请在StackOverflow上使用标签:corecharts-2018并提问。