EvenlyWrappedLabel 1.3.0

EvenlyWrappedLabel 1.3.0

测试已测试
Lang语言 SwiftSwift
许可协议 MIT
发布最新版本2017年10月
SwiftSwift版本4.0
SPM支持SPM

Jeff Burt维护。







描述

EvenlyWrappedLabel 是一个 UILabel 子类,可以在任意数量的行内垂直分布文本或标记文本,防止文本在上端聚集成块,同时也防止单个单词在底部成行。

示例

  1. 此文本

     This sentence has a lot of words on
     the top line.
    

    变为

     This sentence has a lot
     of words on the top line.
    
  2. 此文本

     This sentence has a single
     orphan.
    

    变为

     This sentence has
     a single orphan.
    

支持iOS 9.0+和Xcode 9.0.0+

内容

  1. 特性
  2. 用法
  3. 安装
  4. 许可协议
  5. 联系方式

特性

  • 支持所有运行iOS 9及更高版本的设备。
  • 内部使用drawText(in:)而不是创建子视图,因此可以替换任何UILabel引用为EvenlyWrappedLabel,并且“一切照旧”。
  • 适用于任意数量的行、任意文本对齐和标记文本。
  • 适用于自动布局并遵守固有尺寸。
  • 适用于代码中创建和在Interface Builder中创建的标签。
  • 使用useEveryLine选项强制较短的文本占据所有可用行。
  • 包含许多实时配置的示例应用程序,让您在键入时实时看到文本换行。

Example Project Screenshot

用法

设置

将任何UILabel引用替换为EvenlyWrappedLabel

在代码中


之前
class ViewController {
    let label = UILabel()
}
之后
import EvenlyWrappedLabel

class ViewController {
    let label = EvenlyWrappedLabel()
}

在Interface Builder中


之前

Interface Builder Screenshot - Before

之后

Interface Builder Screenshot - After

(可选)使用每行

设置label.useEveryLine = true,即使文本默认长度不足,也会将文本分布在所有numberOfLines上。

示例

  • numberOfLines = 3,且useEveryLine = true时,以下文本

      This only takes up one line.
    

    变为

      This only
      takes up
      one line.
    

安装

会手动

如果您不使用CocoaPods,可以将EvenlyWrappedLabel手动集成到项目中。

许可协议

EvenlyWrappedLabelJeff BurtStockX开发,并按照MIT许可证发布。有关详细信息,请参阅LICENSE文件。

联系方式

欢迎关注我的个人Twitter账号jeffburtjr。如果您发现项目中存在问题,或有改进的建议,欢迎在GitHub上发起issue或创建pull request。