Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- extension UILabel {
- func setText(text: String, withKerning kerning: Double) {
- self.attributedText = NSAttributedString(string: text, attributes: kerningAttribute(kerning))
- }
- func setText(text: String, withLineSpacing lineSpacing: CGFloat) {
- self.attributedText = NSAttributedString(string: text, attributes: lineSpacingAttribute(lineSpacing))
- }
- func setText(text: String, withLineHeightMultiple lineHeightMultiple: CGFloat) {
- self.attributedText = NSAttributedString(string: text, attributes:lineHeightMultipleAttribute(lineHeightMultiple))
- }
- func setText(text: String, withKerning kerning: Double, lineSpacing: CGFloat) {
- var attributes = kerningAttribute(kerning)
- attributes.add(lineSpacingAttribute(lineSpacing))
- self.attributedText = NSAttributedString(string: text, attributes: attributes)
- }
- func setText(text: String, withKerning kerning: Double, lineHeightMultiple: CGFloat) {
- var attributes = kerningAttribute(kerning)
- attributes.add(lineHeightMultipleAttribute(lineHeightMultiple))
- self.attributedText = NSAttributedString(string: text, attributes: attributes)
- }
- private func kerningAttribute(kerning: Double) -> [String: AnyObject] {
- return [NSKernAttributeName: kerning]
- }
- private func lineSpacingAttribute(lineSpacing: CGFloat) -> [String: AnyObject] {
- let paragraphStyle = NSMutableParagraphStyle()
- paragraphStyle.lineSpacing = lineSpacing
- return [NSParagraphStyleAttributeName : paragraphStyle]
- }
- private func lineHeightMultipleAttribute(lineHeightMultiple: CGFloat) -> [String: AnyObject] {
- let paragraphStyle = NSMutableParagraphStyle()
- paragraphStyle.lineHeightMultiple = lineHeightMultiple
- return [NSParagraphStyleAttributeName : paragraphStyle]
- }
- }
- private extension Dictionary {
- mutating func add(dictionary: Dictionary) {
- for (name, value) in dictionary {
- self[name] = value
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement