Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
47 lines (39 sloc) 1.21 KB
//
// UILabelExtensions.swift
// SwifterSwift
//
// Created by Omar Albeik on 9/23/16.
// Copyright © 2016 SwifterSwift
//
#if canImport(UIKit) && !os(watchOS)
import UIKit
// MARK: - Methods
public extension UILabel {
/// SwifterSwift: Initialize a UILabel with text
convenience init(text: String?) {
self.init()
self.text = text
}
/// SwifterSwift: Initialize a UILabel with a text and font style.
///
/// - Parameters:
/// - text: the label's text.
/// - style: the text style of the label, used to determine which font should be used.
convenience init(text: String, style: UIFont.TextStyle) {
self.init()
font = UIFont.preferredFont(forTextStyle: style)
self.text = text
}
/// SwifterSwift: Required height for a label
var requiredHeight: CGFloat {
let label = UILabel(frame: CGRect(x: 0, y: 0, width: frame.width, height: CGFloat.greatestFiniteMagnitude))
label.numberOfLines = 0
label.lineBreakMode = NSLineBreakMode.byWordWrapping
label.font = font
label.text = text
label.attributedText = attributedText
label.sizeToFit()
return label.frame.height
}
}
#endif
You can’t perform that action at this time.