StringInChain 0.3.0

StringInChain 0.3.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2015年8月
SPM支持 SPM

Lukasz Solniczek 维护。



  • 作者
  • Lukasz Solniczek

StringInChain


一种方便快捷的创建 AttributedString 的方法。

StringInChain 为你提供了一个创建指定的方式来创建 attributed string。

旧的方式

使用旧的方式,创建一个属性字符串是脏的并且复杂的。

let baseString: NSString = "String In Chain"
var attrText = NSMutableAttributedString(string: baseString as String)
attrText.addAttribute(NSForegroundColorAttributeName, value: UIColor.blueColor(), range: baseString.rangeOfString("String"))
attrText.addAttribute(NSFontAttributeName, value: UIFont(name: "Avenir", size: 30.0)!, range: baseString.rangeOfString("String"))
attrText.addAttribute(NSUnderlineStyleAttributeName, value: 1, range: baseString.rangeOfString("In"))
attrText.addAttribute(NSUnderlineColorAttributeName, value: UIColor.yellowColor(), range: baseString.rangeOfString("In"))
attrText.addAttribute(NSStrokeWidthAttributeName, value: 1, range: baseString.rangeOfString("Chain"))
attrText.addAttribute(NSStrokeColorAttributeName, value: UIColor.blackColor(), range: baseString.rangeOfString("Chain"))
label.attributedText = attrText

使用 StringInChain

let baseString = "String In Chain"
var attrText = baseString.chain { (string) -> Void in
    string.match("String").withColor(UIColor.blueColor()).withFont(UIFont(name: "Avenir", size: 30.0)!)
    string.match("In").underline(1, andColor: UIColor.yellowColor())
    string.match("Chain").withStroke(1, andColor: UIColor.blackColor())
}
label.attributedText = attrText.attrString

而不仅仅是对match(text: String)(这种方式只能找到字符串的第一个出现),你可以使用

match(from: Int, to:Int)

示例

string.match(from: 7, to: 10).withColor(UIColor.blueColor()).withFont(UIFont(name: "Avenir", size: 30.0)!)

这样你就可以通过匹配范围 fromto 来创建 AttributedString

如果你愿意,还有一个快速的内联方法来创建 AttributedString

label.attributedText = "String In Chain".match("String").withColor(UIColor.blueColor()).withFont(UIFont(name: "Avenir", size: 30.0)!).attrString

干净利落,不是吗?

用法

要运行示例项目,请克隆存储库,并首先从 Example 目录运行 pod install

需求

安装

StringInChain 通过 CocoaPods 提供。为了安装它,只需将以下行添加到 Podfile 中:

pod "StringInChain"

作者

Lukasz Solniczek,[email protected]

许可证

StringInChain 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。