ChartLegends 0.0.6

ChartLegends 0.0.6

测试已测试
语言语言 SwiftSwift
许可 Apache 2
发布时间最新发布2018年1月
SwiftSwift 版本4.0
SPM支持 SPM

Ivan Schuetz 维护。



  • 作者
  • Ivan Schuetz

ChartLegends

功能强大的可定制图表图例

Swift 3.0, iOS 8+

ScreenShot

功能

  • 可配置的流程和列布局。
  • 预定义的形状和使用自定义路径的可能。
  • 单元配置或覆盖,例如设置与其他单元不同的字体或形状。
  • 通过 UICollectionView 子类使用自定义视图。
  • 支持自动布局,可在 Interface Builder 中配置。
  • 交互式
  • 可滚动
  • 与任何图表类型或库兼容。

快速入门

简单

@IBOutlet weak var legendsView: ChartLegendsView!

legendsView.setLegends(
    (text: "Chemicals", color: UIColor.orange),
    (text: "Forestry", color: UIColor.green)
)

使用方法

预定义图例类型

ChartLegends 目前支持以下类型

纯文本

以给定颜色显示文本。快速入门部分中的示例产生此类图例。

形状和文本

在左侧显示文本和形状,具有给定颜色。这里也有一些预定义选项,例如圆形,指定半径,或矩形,指定宽度和高度。

例如,要使用左侧有小型彩色圆圈的图例

legendsView.setLegends(.circle(radius: 7), [
    (text: "Chemicals", color: UIColor.orange),
    (text: "Forestry", color: UIColor.green)
)]

如果您想显示不在预定义类型中的形状,您也可以提供路径。示例

let pathGenerator = {(size: CGSize) in
    return UIBezierPath()
}
legendsView.setLegends(pathGenerator, [
    (text: "Chemicals", color: UIColor.orange),
    (text: "Forestry", color: UIColor.green)
)]

当然,我们想要扩展预定义类型以支持所有可能的常规路径。如果您认为您的路径对公众有直接兴趣,请不要犹豫提出拉取请求!

自定义单元

如果您需要更多的自定义,您也可以使用自定义单元。示例

legendsView.configure(cellType: MyCustomCell.self) {cell, legend, indexPath in
    cell.label.text = legend.text
    // other custom configuration
}

这是一个类型安全且简洁的写法 - 我们不需要转换或代表来配置单元。

要实现自定义单元,您只需扩展 UICollectionViewCell 并符合 ChartLegendCell 以添加一些额外的功能,这些功能 ChartLegendsView 需要与应用单元交互。

在此,您仍然可以自由提交带有您单元格的拉取请求,如果您认为它们可以公用。

布局类型

您可以直接在界面构建器中配置 ChartLegendsView 的布局和一些其他设置。

ScreenShot

选项

  • flowLeft:左对齐流动布局。这应该是最常见的水平图例布局。

  • columns:列布局 - 您可以在“列字段”中指定列数。

  • flow:默认流动集合视图布局,将按照顺序排列单元格以占用可用空间。

注意,当布局类型不是 columns 时,忽略“列”字段。

示例

下载此存储库并运行示例目标!

观察

除了添加新形状和单元格外,还一定可以完成几个设置和改进。还可以添加动画!

贡献

  1. 拉取
  2. 将更改提交到您分叉中的分支
  3. 推送您的代码并创建拉取请求

创建者

Ivan Schütz

许可证

SwiftCharts版权所有 © 2017 Ivan Schütz,并以附带的Apache 2.0 许可证作为开源发布。

软件按“现状”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者不对任何主张、损害或其他责任承担责任,无论是基于合同、侵权或其他方式,无论是因软件或其使用或以其他方式而产生、出现或与之相关。