[iOS]推广CocoaPods库” KR Progress HUD”,显示加载良好


说到轻松,易用和酷炫的加载,我认为SVProgressHUD和MBProgressHUD是标准。

最近,我已经对Swift习以为常,因此我有更多的机会编写实用程序和扩展程序,这些程序和程序可能引发乏味的处理。
由于我从未发布过CocoaPods库,因此我尝试通过参考上述Pod的经验来创建一个显示负载的库。
为了有所作为,我尝试注意指示器和纯Swift的设计。

完全的

演示:https://appetize.io/app/nw022juw0znkf1n5u6ynga5ntm
GitHub:https://github.com/krimpedance/KRProgressHUD
如果您查看README.md,则可以轻松使用它。


(*该GIF不是最新版本,但行为几乎相同。)
<铅>

特征

  • MaskView颜色:从.black.white.clear中选择
  • progressHUD的背景色:.white.black.custom(background:, text:, icon:)

  • KRActivityIndi??cator:通过指定开始颜色和结束颜色显示带有等级的指示器。
  • 还可以设置自定义图像
  • 我希望您可以使用演示应用程序查看其他详细信息!

KRActivityIndi??catorView

首先,我创建了一个旋转指标。
有一种使用图像的方法,但是我想根据用户的需要来改变指示器的颜色,所以我用UIBezierPath进行绘制。

基本设计由Illustrator制作,并通过我们自己的路径转换工具转换为UIBezierPath

1
2
3
4
5
6
7
8
paths.enumerated().forEach { index, path in
  let pathLayer = CAShapeLayer()
  pathLayer.frame = animationLayer.bounds
  pathLayer.fillColor = colors[index].cgColor
  pathLayer.lineWidth = 0
  pathLayer.path = path
  animationLayer.addSublayer(pathLayer)
}

由于

指示器的每个圆圈都有不同的颜色,因此将其绘制在单独的图层上。
对于每种颜色,我们以固定间隔使用从渐变中提取的颜色。 (此处对摘录进行了总结。)

副产品

我为此库做了此指示符,但是我可以像UIActivityIndicator一样正常使用吗?因此,我决定添加各种过程并将其发布为单独的库。 (笑)
GitHub:https://github.com/krimpedance/KRActivityIndi??catorView
演示:https://appetize.io/app/v73ez7gvuzzuhxecu4zqv4em0r

您可以使用

IBDesignableIBInspectable在IB上调整设计。
您可以自由更改颜色(尽管它是两种颜色的渐变),所以我认为很容易与应用程序的UI匹配。

KRProgressHUD

转换为CocoaPods时,我参考了以下文章。

  • 使用CocoaPods管理自己的图书馆的备忘录
  • [快速]在CocoaPods中注册您自己的库

它成功了一半,但是当我实际尝试使用pod install进行演示时,阅读却奏效了,但无法使用该类...
我陷入困境,一次又一次尝试.podspec,几个小时不见了。

嗯,唯一的原因是我没有将public修饰符添加到我想从外部使用的内容中。 .. Orz

我有意识地添加了

private修饰符,但我完全忘记了,如果不添加任何内容,它将是internal,如果将其放入库中,将无法访问它。
我通常使用的实用程序文件是在项目中使用的,因此这不是问题。
好吧,假设我在这种情况下了解了publicinternal在行为上的区别。 (^^;

概括

这一次就像一个现有的库α,但是了解创建CocoaPods库的流程很有趣。
我也想在这里自定义!或者,如果您有Fxxk!等,请发表评论或Github。

拥有美好的iOS生活! !! !!

更新历史记录

  • 2017/07/04已针对3.0版更新。