MRLCircleChart 0.5.2

MRLCircleChart 0.5.2

测试测试过的
语言语言 SwiftSwift
许可 MIT
发布最近发布2017年6月
SwiftSwift 版本3.0
SPM支持 SPM

Marek Lisik 维护。



  • 作者
  • mlisik

MRLCircleChart

Animated .gif of chart reloading it's data

MRLCircleChart 是一个用 Swift 编写的简单的饼图/圆形图表 UI 组件。旨在为您处理大部分工作(只需传递数据源并配置视图),以牺牲可定制性为代价。

主要功能

  • [x] 通过数据源进行配置
  • [x] 通过 IB 进行自定义
  • [x] 颜色、线宽、开始/结束角度动画
  • [x] 选择/取消选择时的回调

用法

数据设置

ChartData Source由一个Segment的数组和用作Segment角度值参考的maxValue属性组成。您可以将源值轻松映射到[Segment],然后初始化一个遵守MRLCircleChart.DataSource协议的数据源,并将其传递给Chart

struct DataSource: MRLCircleChart.DataSource {
  // protocol conformance
}

let segments = [90, 80, 60].map {
  Segment(value: $0, description: "\($0)")
}

chart.dataSource = DataSource(items: segments, maxValue: 250)

自定义

您需要的所有自定义都可以通过 InterfaceBuilder、以下IBDesignable属性来完成。

InterfaceBuilder's AttributesInspector pane contains a Chart section where primary properties are easily accessible

如果您没有使用 IB 来布局Chart,这些属性也同样可用。

@IBInspectable public var lineWidth: CGFloat = 25
@IBInspectable public var padding: CGFloat = 0
@IBInspectable public var chartBackgroundColor: UIColor = UIColor(white: 0.7, alpha: 0.26)
@IBInspectable public var beginColor: UIColor? = UIColor.beginColor()
@IBInspectable public var endColor: UIColor? = UIColor.endColor()

主要公开 API

有关完整文档,请参阅Cocoadocs

除了自定义之外,主要的公开 API 围绕修改和更新可用数据。

数据源

public mutating func remove(index: Int) -> MRLCircleChart.Segment?
public mutating func insert(item: MRLCircleChart.Segment, index: Int)
public mutating func append(item: MRLCircleChart.Segment)
public mutating func empty()

图表

final public func reloadData(animated animated: Bool = true, completion: () -> () = {})
public func empty(animated animated: Bool = true, color: UIColor? = nil)
public func select(index selectIndex: Int)
public func deselect(index index: Int)

回调

有两个回调可用于用户交互事件:当选择一个部分时以及取消选择时。

chart.selectHandler = {
  index in print("selected \(index)")
}

chart.deselectHandler = {
  index in print("deselected \(index)")
}

示例

要运行示例项目,请克隆仓库,首先从 Example 目录运行pod install,或者运行pod try MRLCircleChart以使用临时克隆进行检查。

安装

MRLCircleChart 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到 Podfile 中即可

pod "MRLCircleChart"

协作

如果您想帮忙,请查看 waffle.io 上的公开问题。该项目目前还没有路线图,但欢迎所有类型的拉取请求(无论是想要清理、修复还是添加某些内容),也欢迎功能请求。

作者

mlisik,[email protected]

许可

MRLCircleChart 在 MIT 许可证下可用。更多信息请参阅 LICENSE 文件。