CERoundProgressView 0.0.1

CERoundProgressView 0.0.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

未指定的用户维护。



  • 作者
  • Renaud Pradenc

CERoundProgressView 以饼图分享图表的形式显示进度。尽管它没有继承 UIProgressView,但其 API 很相似。

视图在图形上非常简单,仅由一个背景圆和一个彩色弧线组成。

A CERoundProgressView on its own

然而,与其他元素结合使用时,它变得非常有趣。例如,示例程序将它用作按钮的背景,该按钮使用图像,部分部分是透明的。

A CERoundProgressView used with a button

特别特性

  • 进度变化时有动画效果。
  • 可以设置颜色,可以是单独设置,也可以通过 UIAppearance 代理设置。

如何使用

将以下文件拖到您的 Xcode 项目中

  • CERoundProgressView.h 和 .m
  • CERoundProgressLayer.h 和 .m

因为进度视图使用 Core Animation,所以您的目标也必须链接到 QuartzCore 框架。

动画持续时间

我找不到将自定义可动画属性添加到 UIView 中的方法。因此,以下示例代码对动画的持续时间没有影响。

[UIView animateWithDuration:3.0 animations:^{
    self.roundProgressView.progress = 12.0;
}];

因此,CERoundProgressView 添加了一个 animationDuration 属性来完成这个目的。

兼容性

CERoundProgressView 与 iOS 5 和 iOS 6 兼容。

自动引用计数

示例项目中没有启用 ARC,类以旧方式管理内存。

如果在您的项目中启用 ARC,则编译器将关于 CERoundProgressLayer.m 中的 -dealloc 方法发出抱怨。您应该禁用此文件的 ARC 使用编译器标志 -fno-objc-arc。

旧 SDK

CERoundProgressView 使用了仅在 iOS 5.0 以后可用的 UIAppearance API。如果您希望链接到旧 SDK,您可以将 CERoundProgressView.h 修改为类不遵守 UIAppearanceContainer 协议,并且其属性不声明为 UI_APPEARANCE_SELECTOR。

示例项目

示例程序显示了切换在播放和暂停之间切换的按钮。CERoundProgressView 位于其下方。

  • CEPlayer 是最有趣的类。它在 20 秒的持续时间内,其位置从 0 变化到 1。位置每 0.5 秒发生突变,这是故意的:您会注意到滑块从一个值跳到另一个值,而进度视图则平滑地动画化。

  • CEViewController 是 CEPlayer 的代理。其目的是捕获按钮动作并设置滑块和进度视图的进度。

许可证

版权所有(c)2012,Céroce。保留所有权利。

只要满足以下条件,允许重新分发和使用源代码和二进制代码,修改或不修改:

  1. 源代码的重新分发必须保留上述版权声明、本许可列表和以下免责声明。

  2. 二进制形式的重新分发必须在文档和/或其他伴随的资料中重新生产上述版权声明、本许可列表和以下免责声明。

  3. 未经 Céroce 书面许可,不得使用 Céroce 或其贡献者的名称宣传或推广由本软件派生的产品。

本软件由版权所有者和 contributors 提供“按原样”和任何明示或暗示的保证,包括但不仅限于适销性和针对特定目的的适用性保证。在任何事件中,CÉROCE 不承担任何直接、间接、意外、特殊、示范性的或后果性的损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断),不管这种损害是由于何种原因造成的,以及基于何种法律责任理论(无论是合同、严格责任还是侵权责任,包括疏忽或其他),即使是被告知了这种损害的可能性。