Skip to content

Instantly share code, notes, and snippets.

@morishin
Last active March 4, 2019 05:07
Show Gist options
  • Save morishin/2530d9ee852598aef7c14c4cccbf8b47 to your computer and use it in GitHub Desktop.
Save morishin/2530d9ee852598aef7c14c4cccbf8b47 to your computer and use it in GitHub Desktop.
import UIKit
import PlaygroundSupport
let stackView = UIStackView()
stackView.distribution = .equalSpacing
stackView.alignment = .center
stackView.translatesAutoresizingMaskIntoConstraints = false
let bg = UIView(frame: CGRect(x: 0, y: 0, width: 500, height: 500))
bg.backgroundColor = .lightGray
let wrapper = UIView()
wrapper.layer.borderColor = UIColor.black.cgColor
wrapper.layer.borderWidth = 2
bg.addSubview(wrapper)
wrapper.translatesAutoresizingMaskIntoConstraints = false
wrapper.centerXAnchor.constraint(equalTo: bg.centerXAnchor).isActive = true
wrapper.centerYAnchor.constraint(equalTo: bg.centerYAnchor).isActive = true
wrapper.addSubview(stackView)
wrapper.leadingAnchor.constraint(equalTo: stackView.leadingAnchor).isActive = true
wrapper.trailingAnchor.constraint(equalTo: stackView.trailingAnchor).isActive = true
wrapper.topAnchor.constraint(equalTo: stackView.topAnchor).isActive = true
wrapper.bottomAnchor.constraint(equalTo: stackView.bottomAnchor).isActive = true
let viewgen = { (name: String, width: CGFloat, height: CGFloat, backgroundColor: UIColor) -> UIView in
let view = UIView()
view.backgroundColor = backgroundColor
view.translatesAutoresizingMaskIntoConstraints = false
view.widthAnchor.constraint(equalToConstant: width).isActive = true
view.heightAnchor.constraint(equalToConstant: height).isActive = true
let label = UILabel()
label.text = name
label.textColor = .white
view.addSubview(label)
label.translatesAutoresizingMaskIntoConstraints = false
label.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
label.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
return view
}
stackView.addArrangedSubview(viewgen("v1", 50, 100, .red))
stackView.addArrangedSubview(viewgen("v2", 100, 50, .green))
PlaygroundPage.current.liveView = bg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment