AttributedLabel 3.0.0

AttributedLabel 3.0.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最新发布2019年4月
SPM支持SPM

Kyohei Ito维护。



  • 作者
  • Kyohei Ito

AttributedLabel

Build Status Carthage compatible Version License Platform

Graph

UILabel性能更高。

Appetize的示例

Label

概述

它比UILabel性能更好,可以像标准UI组件一样使用。而且比UILabel更易于使用。

由于继承自UIView而不是UILabel,因此几乎没有浪费的处理。它使用TextKit的功能绘制字符。

请注意,内容布局不是自动完成的。如果要自动固定内容的高度,请将usesIntrinsicContentSize设置为true

自定义非常简单。

Customize

左侧标签页是可以自定义的标签。中间的标签页为AttributedLabel,响应速度极快。右侧标签页为UILabel,响应速度较慢。速度是原来的10倍以上,比5倍还要快。

  • 使用UIlabel

UILabel

  • 使用AttributedLabel

AttributedLabel !

需求

  • Swift 5.0
  • iOS 7.0及以上
  • tvOS 9.0及以上

如何安装AttributedLabel

iOS 8+, tvOS

CocoaPods

将以下内容添加到您的 Podfile

pod "AttributedLabel"

Carthage

将以下内容添加到您的 Cartfile

github "KyoheiG3/AttributedLabel"

iOS 7

只需将AttributedLabel.swift文件中的所有内容添加到您的项目中。

使用方法

变量

var numberOfLines: Int
  • UILabel中的numberOfLines相同。
  • 默认为0
var contentAlignment: AttributedLabel.ContentAlignment
  • 内容的对齐方式。
  • 默认为left
@IBInspectable var padding: CGFloat
  • NSTextContainerlineFragmentPadding的值。
  • 默认为0
var font: UIFont
  • 文本字体。
  • 默认为系统字体17号平实字体。
var lineBreakMode: NSLineBreakMode
  • UILabel中的lineBreakMode相同。
  • 默认为ByTruncatingTail
@IBInspectable var textColor: UIColor?
  • 默认为nil(文本以黑色绘制)。
var paragraphStyle: NSParagraphStyle?
  • 默认为nil。
var shadow: NSShadow?
  • 默认为nil。
var attributedText: NSAttributedString?
  • 默认为nil。
@IBInspectable var text: String?
  • 默认为nil。
var usesIntrinsicContentSize: Bool
  • 如果需要使用intrinsicContentSize,则设置为true。
  • 当intrinsicContentSize被缓存时,应调用invalidateIntrinsicContentSize。例如,当文本更改时。
  • 默认为false
var preferredMaxLayoutWidth: CGFloat
  • 支持基于约束的布局(自动布局)。
  • 如果非零,则在确定多行标签的intrinsicContentSize时使用。

函数

override func sizeThatFits(size: CGSize) -> CGSize
  • UILabel中的sizeThatFits相同。
override func sizeToFit()
  • 类似UILabel的适配。

作者

Kyohei Ito

关注我🎉

许可协议

遵循MIT许可协议。有关详细信息,请参阅LICENSE文件。