CountDownTimeAgoLabel 0.1.3

CountDownTimeAgoLabel 0.1.3

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2016年6月
SPM支持 SPM

Martin Kluska 维护。



CountDownLabel

示例

要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install

要求

  • Swift 2.0

安装

CountDownLabel 可以通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile 中

pod "CountDownLabel"

作者

Martin Kluska, [email protected]

许可证

CountDownLabel 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。

使用

导入模块

import CountDownTimeAgoLabel

当日期设置为 label/countdown 对象时,计时器将开始(如果设置了格式化器)。您可以创建用于自定义 UI 的 CountDown 对象,也可以创建自动更新文本的 CountDownLabel

通过自己的代理

let countDown = CountDown(aDelegate: self)
countDown.date = NSDate(...)

...
func countDownChanged(countDown: CountDown, format: String) {
    testLabel.text = format
}

通过标签(代码)

let label = CountDownLabel(frame: CGRectZero)
...
label = NSDate(...)

手动启动计时器

let countDown = CountDown(aDelegate: self)
countDown.autoStartOnDate = false
countDown.date = NSDate(...)
countDown.start()
...
countDown.stop()

格式化样式(使用 CountDownBaseFormatter)

默认使用具有自定义日期或时间样式的 CountDownBaseFormatter。

您可以通过访问格式化器对象来设置它。

let formatter = countDown.formatter as? CountDownBaseFormater
formatter?.dateStyle = .Full // this value is default
formatter?.timeStyle = .Full // this value is default

CountDownFormatStyle

以给定样式渲染日期/时间的部分

  • .Full: 显示完整样式,带有本地化字符串:2秒
  • .ISO: 显示 ISO 格式:12:30:23
  • .Short: 显示字符串的缩短版本:2m 2s
  • .None: 跳过渲染

倒计时逻辑

您可以通过设置 countDown.logic 来设置标签的渲染逻辑

CountDownLogic

  • .Static: 仅以选定的格式显示当前时间差
  • 倒计时:倒计时至结束日期
  • 自动:支持未来/过去的时间差

IB 接口

将 UILabel 拖放到你的视图中,并将类设置为 CountDownLabel。在你的属性选项卡中,你可以更改标签的设置。这将更改倒计时属性。

你可以通过 label.countDown 访问标签的 CountDown 对象。

逻辑

  • 自动
  • 静态
  • 倒计时

样式

  • 完整
  • iso

倒计时

你可以设置:

  • 日期
  • 计时器的 时间间隔
  • autoStartOnDate 用于开启/关闭设置日期的自动开始
  • formatter 用于格式化日期
  • delegate 用于响应变化
  • logic 用于决定使用哪个计时器逻辑
  • finishedMessage 用于自定义完成文本
  • hasFinished

你可以调用

  • start() 创建计时器并触发格式化
  • stop() 结束计时器
  • currentFormat() 返回当前文本
  • updateCountDown 触发更新

CountDownLabel

你可以设置:

  • date 用于设置起始日期并触发启动
  • onFinishBlock 用于处理倒计时完成
  • prefixText 和 suffixText 用于添加自定义文本格式,如果需要请在前面添加空格

你可以调用

所有 UILabel 方法,你也可以通过 label.countDown 访问到 countDown 实例

待办事项

  • 更新说明与如何使用
  • 更改示例项目
  • 添加对 "ago" 文本的支持,带有自定义的 stringsdict(因为捷克语)
  • 添加更多语言
  • 添加自定义 ISO 格式
  • 单元测试

自定义化

你可以通过使用 CountDownStyleProtocol 创建一个针对基础格式化器(CountDownBaseFormatter)的自定义样式逻辑,或者你可以通过协议 CountDownFormatProtocol 创建自己的格式化器。

贡献

受欢迎!