Created
October 5, 2018 20:35
-
-
Save mfaani/0d16a6f5598cc2ea7b57f1baa8b0f006 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// | |
// ViewController.swift | |
// IntrinsicLabel | |
// | |
// Created by Faani, Mohammad on 10/5/01. | |
// Copyright © 2018 Funnex. All rights reserved. | |
// | |
import UIKit | |
class ViewController: UIViewController { | |
lazy var label : UILabel = { | |
let lbl = UILabel() | |
lbl.translatesAutoresizingMaskIntoConstraints = false | |
lbl.backgroundColor = .red | |
lbl.textColor = .black | |
return lbl | |
}() | |
override func viewDidLoad() { | |
super.viewDidLoad() | |
// 0. | |
print("empty Text intrinsicContentSize: \(label.intrinsicContentSize)") // (0.0, 0.0) | |
// 1. | |
label.text = "hiiiii" | |
print("hiiiii intrinsicContentSize: \(label.intrinsicContentSize)") // (29.0, 20.5) | |
// 2. | |
label.text = "translatesAutoresizingMaskIntoConstraints" | |
print("1 translate intrinsicContentSize: \(label.intrinsicContentSize)") // (328.0, 20.5) | |
// 3. | |
label.text = "translatesAutoresizingMaskIntoConstraints translatesAutoresizingMaskIntoConstraints translatesAutoresizingMaskIntoConstraints" | |
print("3 translate intrinsicContentSize: \(label.intrinsicContentSize)") // (992.0, 20.5) | |
// 4. | |
label.text = "translatesAutoresizingMaskIntoConstraints\ntranslatesAutoresizingMaskIntoConstraints\ntranslatesAutoresizingMaskIntoConstraints" | |
print("3 translate w/ line breaks intrinsicContentSize: \(label.intrinsicContentSize)") // (328.0, 20.5) | |
// 5. | |
label.numberOfLines = 0 | |
print("3 translate w/ line breaks and '0' numberOfLines intrinsicContentSize: \(label.intrinsicContentSize)") // (328.0, 61.0) | |
// 6. | |
label.preferredMaxLayoutWidth = 100 | |
print("3 translate w/ line breaks | '0' numberOfLines | preferredMaxLayoutWidth: 100 intrinsicContentSize: \(label.intrinsicContentSize)") // (98.5, 243.5) | |
view.addSubview(label) | |
label.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true | |
label.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment