TimerControl 1.0.7

TimerControl 1.0.7

Mark Jones维护。




  • Mark Jones

TimerControl

TimerControl 是一个基于UIView的自定义倒计时计时控件。它表示在定义的倒计时持续时间内的剩余秒数的可见减少弧。

Platform Swift Package Manager Cocoapods Carthage compatible GitHub license

演示

入门

要在您的Xcode项目中使用TimerControl。将TimerControl框架包含到您的项目中。创建一个UIView(可以是程序性地,也可以是在xib或Storyboard中),将UIView的类型设置为TimerControlView。确保UIView具有1:1的宽高比 - 如果不是严格1:1,TimerControl将不会绘制并可能导致宿主应用程序崩溃。

先决条件

  • iOS 12
  • Xcode 11

安装

- Swift Package Manager

在 Xcode 中,转到 Xcode > 文件 > Swift 包 > 添加包依赖,将以下 URL 剪贴到 仓库 URL 文本框 ''' https://github.com/Zendos1/TimerControl '''

- Cocoapods

要使用 Cocoapods 在项目中包含 TimerControl,请将以下内容添加到您的 podfile

pod 'TimerControl'

要通过终端运行相同文件夹位置下的 podfile 指示 Cocoapods 下载新依赖项,请执行以下命令。

pod install

- Carthage

要使用 Carthage 在项目中包含 TimerControl,请将以下内容添加到您的 Cartfile

github "Zendos1/TimerControl"

要通过终端运行相同文件夹位置下的 Cartfile 指示 Carthage 下载和构建新依赖项,请执行以下命令。

carthage update --platform ios

Carthage 将下载 TimerControl 框架并构建到名为 Builds 的文件夹中。在 Xcode 项目的“通用”选项卡中,在 框架、库和嵌入式内容 下,将 Carthage/Builds/iOS/TimerControl.framework 拖入 Xcode。由于 TimerControl 是一个动态框架 - 确保在 框架、库和嵌入式内容 下的框架旁边的下拉菜单中选择了 嵌入式

您还应在 Xcode 构建阶段 选项卡下添加一个 新运行脚本阶段。添加以下脚本

/usr/local/bin/carthage copy-frameworks

在相同的运行脚本阶段下,在 输入文件 中添加新框架的条目

$(SRCROOT)/Carthage/Build/iOS/TimerControl.framework

运行脚本阶段条目是 Carthage 解决运行时架构问题的一个方案,该方案在 AppStore 提交时包含到框架中。更多详细信息请见上方链接的 Carthage 主页。

用法

仓库中包含一个示例项目。打开 TimerControl.xcworkspace,在文件导航器中可以看到 示例 项目。可以在模拟器上运行 Xcode 中的 示例 目标来查看框架的工作情况。

使用TimerControl:使用以下任一过程将TimerControl框架包含到您的项目中。通过代码或xib或Storyboard创建一个UIView,将UIView的类型设置为。确保UIView具有1:1的纵横比——除非严格为1:1,否则TimerControl将无法绘制并导致宿主应用程序崩溃。

在TimerControl被使用之前,可以通过调用以下API并传入所需的配置来配置其视觉设置。如果不调用配置API,则所有可配置选项将使用默认值。

configureTimerControl(innerColor: UIColor = .gray, outerColor: UIColor = .blue, counterTextColor: UIColor = .white, arcWidth: Int = 1, arcDashPattern: TimerControlDashPattern = .none)

可配置的值如下:

  • innerColor:描述内部椭圆颜色的UIColor
  • outerColor:描述外部弧线颜色的UIColor
  • counterTextColor:描述计数器文本颜色的UIColor
  • arcWidth:介于1和10之间的值,描述弧线的宽度,相对于视图大小的比例
  • arcDashPattern:TimerControlDashPattern枚举,具有4种预设模式(.none, .medium, .narrow, .wide)

要开始计时器,请使用以下API,传入所需秒数作为duration参数

startTimer(duration: Int)

要停止计时器,请使用以下API

stopTimer()

为了更全面地控制活动计时器,可以使用。将TimerControl代理对象设置为您的类并实现以下代理方法

timerCompleted()

timerTicked()

这样,宿主应用程序就可以在计时器滴答和计时器完成时得到通知。

贡献

如果您想为TimerControl做出贡献,请提交拉取请求问题

许可证

本项目采用MIT许可证——有关详细信息,请参阅LICENSE文件。