TestsTested | ✗ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Sep 2017 |
SwiftSwift Version | 3.0 |
SPMSupports SPM | ✗ |
Maintained by Dmitry Frishbuter.
Tribulus provides very convenient way to compose attributed strings.
It is a framework based on usage custom Attributes
class and nice chaining syntax.
Drag Sources
folder from latest release into your project.
To initialize attributed string with required attributes, you can use following code:
let attributedString = NSAttributedString(string: testString) {
$0.font = .systemFont(ofSize: 10, weight: UIFontWeightBold)
$0.backgroundColor = .green
$0.color = .black
$0.baselineOffset = 14.0
}
Tribulus also allows appending to existing mutable attributed string.
Here's a code for appending new attributed string:
let attributedString = NSMutableAttributedString(string: "Foo")
attributedString
.append(string: " Bar") {
$0.color = .red
}
.append(string: " Baz") {
$0.direction = .horizontal
}
And in the same simple way you can append any image:
let attributedString = NSMutableAttributedString(string: "Foo")
attributedString.append(image: UIImage(named: "Bar"),
bounds: CGRect(x: 0, y: 0, width: 40, height: 40))
Moreover Tribulus allows you to insert newly configured attributed string at any location:
let attributedString = NSMutableAttributedString(string: "Foo Baz")
attributedString
.insert(string: "Bar", at: 4) {
$0.textEffect = .letterpress
}
or to insert an image:
attributedString.insert(image: UIImage(named: "Bar"),
bounds: CGRect(x: 0, y: 0, width: 40, height: 40),
at: 0)
Instead on creating UIFontDescriptorSymbolicTraits
you can just set bold and italic traits using Attributes
object properties:
let attributedString = NSAttributedString(string: testString) {
$0.bold = true
$0.italic = true
}
Dmitry Frishbuter, [email protected]
Tribulus is available under the MIT license. See the LICENSE file for more info.