The Project Icon

LGV_UICLEANTIME 组件

这是一组方法和资源,可以生成一个 UIKit UILabel,其中包含一段本地化的清醒时间描述,或者生成 UIKit UIImage,代表钥匙牌或奖章(标准奖章)。

这是该项目的 GitHub 仓库。

概述

使用这些方法和资源来实现 拟物化 的视觉显示,该显示基于 LGV_Cleantime 包生成的计算结果(该软件包依赖于该软件包)。

该组件解决了什么问题?

这使得展示 NA 康复的重要里程碑变得非常容易。LGV_Cleantime 将计算这些里程碑,而此模块将显示它们(仅在 iOS/iPadOS 上)。

显示

钥匙牌

钥匙牌显示为经典的“马鞍”钥匙牌(真正的钥匙牌由塑料制成),顶部带有一个环。这个环可以指定为“打开”或“关闭”(稍后会详细介绍)

图 1:标准钥匙牌 图 2:顶部环“打开”
The standard Keytag The standard Keytag, With Its Ring "Open"

奖章

奖章是标准 NA 清醒时间奖章的“拟物化”渲染(仅正面)

图 3:奖章
The standard Medallion

单个或分组

这些可以显示为“一次性”的单个图像,或者显示在数组中。图 1-3 显示了它们“单个”显示,而图 4-6 显示了它们在数组中的显示

图 4:钥匙牌的水平矩阵 图 5:钥匙牌的垂直条 图 6:奖章的水平矩阵
A Horizontal Matrix of Keytags A Vertical Strip of Keytags A Horizontal Matrix of Medallions

您可以在图 5 中看到为什么顶部环是可选打开的。

这些以 UIKit UIImage 的形式提供,并嵌入到 UIKit UIImageView 中。 这些可以放入滚动视图或其他上下文中。

要求

这些类仅限 UIKit 使用(iOS/iPadOS),并且需要 Swift 编程语言

依赖项

该软件包依赖于以下三个软件包

实施

安装

Swift Package Manager (SPM):

仓库的 URI 是

如果您想了解更多关于 SPM 的信息,您可以 查看此系列)。

资源

该软件包依赖于资源,这些资源应该在 Localizable.strings 文件中提供,并以 图像的形式嵌入到您的应用程序包中。

这些资源没有嵌入到软件包中,因为您可能希望将它们与您自己的本地化资源混合使用。

用法

一旦您将软件包包含在您的项目中,您需要包含该库

import LGV_UICleantime

该软件包有四个不同的类可以使用。其中一个类是 UILabel 的子类,而其他三个类是 UIImageView 的子类

测试线束应用程序

测试线束应用程序旨在演示该软件包的各个方面,并提供一些示例实现。它是一个 iOS/iPadOS 应用程序,其源代码位于 Tests/LGV_UICleantimeTestHarness 子目录中。

它有四个选项卡,分别说明上述每个子类

选项卡 0:文本报告标签和单个奖章视图
图 7:选项卡 0(“奖章”) 图 8:选项卡 1(“钥匙牌”) 图 9:选项卡 2(“钥匙牌”) 图 10:选项卡 3(“奖章”)
Tab0 Tab1 Tab2 Tab3

钥匙牌和奖章选项卡具有滚动视图,可让您滚动图像。

两个钥匙牌选项卡都有开关,可让您更改外观/布局

图 11:钥匙牌顶部打开 图 12:垂直钥匙牌条
The standard Keytag, With Its Ring "Open" Keytags, Arranged as A Strip

许可证

代码和钥匙牌图像采用 MIT 许可证。您可以随意使用它们。

但是,奖章图像是标准青铜 NA World Services (NAWS, Inc.) 清醒时间纪念奖章的渲染图。这些奖章的设计版权归 NA World Services 所有。

尊重 NA 的知识产权非常重要。