/StringUntagger

A simple class to convert tagged strings to attributed strings. This is specially useful when strings are attributed and localized.

Primary LanguageSwiftMIT LicenseMIT

StringUntagger

Swift

A simple class to convert tagged strings to attributed strings. This is specially useful when strings are attributed and localized.

Simplest example:

let res = "click <b>here</b> please".attributedString(attributter: [
    "root": [ .foregroundColor: UIColor.blue, .font: UIFont.systemFont(ofSize: 17)],
    "b": [ .font: UIFont.boldSystemFont(ofSize: 17), .underlineStyle: NSUnderlineStyle.double.rawValue ]
])

Will result in:

If "root" is not good for your cases, it can be customized too:

let su = StringUntagger(rootName: "MyCustomRootName")
let res = su.attributedString(from: "start <root>this is the middle</root> end", attributer: [
    "MyCustomRootName": [ .foregroundColor: UIColor.lightGray, .font: UIFont.systemFont(ofSize: 12)],
    "root": [ .foregroundColor: UIColor.blue],
])

There is also a block base API that should give full control. Check the tests to find out more :)

MIT Licence