RSFontSizes
它是什么?
RSFontSize 允许您以灵活的方式管理每个设备屏幕尺寸的不同字体大小。
- 无需每次使用字体时都输入或猜测家族名称和样式。
- 灵活的尺寸配置(固定、屏幕尺寸比例和用户特定)。
- 智能的模糊规格估计。
- 为不同的 UIFontTextStyle(.body, .headline 等)保存您的字体配置。
安装
Cocoapods
RSFontSizes 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中:
pod "RSFontSizes"
Carthage
- 将以下源添加到Cartfile
github "rootstrap/RSFontSizes" ~> 1.2.0
-
在终端中运行
carthage update
命令。 -
将生成的RSFontSizes.framework和Device.framework链接到您的项目中。
快速预览
从 Poorly managed font sizes
字体直接从 IB 设置。
到可读文本
使用 RSFontSizes 的字体。
开始使用RSFontSizes
只需将字体资产链接到项目。非常详细的指南这里。
如果需要添加过多的字体文件,请强烈推荐FontBlaster pod。这是一个简单的方法来自动加载资产,而不是手动将每个文件添加到Info.plist中。
可选地添加您最喜欢的字体的快捷方式。
extension Font {
//Your Custom font family names
static let raleway = "Raleway".font()!
}
优势
有多种类型可以正确设置字体大小
-固定:消费者设置字体点大小或使用提供的类(.small, .medium等)。
let font = Font.raleway.small
这里没有魔法 :)
-比例:消费者将指定一个与设备屏幕大小关联的基字体大小。
let font = Font.raleway.proportional(to: (.screen3_5Inch, 10))
结果将为当前设备屏幕大小修改字体大小。
-特定屏幕:消费者定义一组与特定屏幕大小关联的字体大小。
let font = Font.raleway.specific(values: [.screen4Inch: 12,
.screen4_7Inch: 13.5,
.screen5_5Inch: 16,
.screen9_7Inch: 20.2]))
如果未指定屏幕大小,则库将尝试估算字体大小的正确值。
您也可以...
将字符串用作字体族名称
let font = "Raleway".font(withWeight: .bold,
size: .fixed(20))
保存模板以重复使用
Font.save(font: someFont, forClass: .body)
然后在其他地方使用它
let label.font = Font.with(class: .body)
示例
要运行示例项目,克隆存储库,然后首先从示例目录中运行 pod install
。
作者
Rootstrap Inc.,[email protected]
许可协议
RSFontSizes 在MIT许可协议下可用。更多信息请参阅LICENSE文件。