测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最新发布 | 2017年1月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Sam Easterby-Smith 维护。
DynamicStyles,iOS 应用缺失的样式管理器。
如果您想手动集成框架或尝试示例项目,请克隆仓库。
在一个名为 Stylesheet.plist
的属性列表中创建一个,位于您的项目中的某个位置。您可以查看仓库中的示例项目以获取起点。有关详细信息,请参阅下面的语法部分。
从理论上讲,您可以告诉它使用从代码中定制的命名 plist,但是如果您这样做,将无法在 IB 中实现渲染。
DynamicStyleLabel
。模块应该会自动更新(如果不会,请确保它说的是 DynamicStyles
)Style Name
的框 - 在其中输入您已定义的样式之一,并查看标签更新!与按钮一样。它们的自定义类是 DynamicStyleButton
。计划在将来将其扩展到其他 UIView 变体。
label.styleName="heading"
或者用更详细的方式...
let stylesheet = Stylesheet.defaultStylesheet
let headingStyle = stylesheet.style("heading")
label.style=headingStyle
Stylesheet.plist
应包含一系列样式定义的字典。每个定义都是一个字典,其中样式的名称作为键。
定义可以采用以下键
键 | 类型 | 默认值 | 说明 |
---|---|---|---|
family | 字符串 | Helvetica Neue | |
face | 字符串 | Regular | |
size | 数值 | 17 | |
shouldScale | 布尔型 | NO | 启用动态类型缩放(包括更大的无障碍性大小) |
parent | 字符串 | 对父样式名称的引用 - 不能形成循环 | |
paragraphSpacing | 数值 | 0 | 段之间的间距(以点为单位) |
lineSpacing | 数值 | 0 | 连续行之间的间距(以点为单位) |
alignment | 字符串 | left | 可以是左对齐、居中、右对齐、两边对齐或自然对齐 |
minimumLineHeight | 数值 | 空值 | |
maximumLineHeight | 数值 | 空值 |
…例如,可能看起来像这样
* root
* baseStyle
* family : Courier
* headlineStyle
* face : Bold
* size : 24
* parent : baseStyle
* bigHeadlineStyle
* size : 48
* parent : headlineStyle
* bodyStyle
* shouldScale : true
* parent : baseStyle
* paragraphSpacing : 5