Skip to content

Instantly share code, notes, and snippets.

@mfaani
Created October 5, 2018 20:35
Show Gist options
  • Save mfaani/0d16a6f5598cc2ea7b57f1baa8b0f006 to your computer and use it in GitHub Desktop.
Save mfaani/0d16a6f5598cc2ea7b57f1baa8b0f006 to your computer and use it in GitHub Desktop.
//
// 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