stackview 세로로 같은 사이즈 만들기
1.stackview를 생성한다.
distibution을 fillEqually로 설정하면 stackview의 세로에 맞게 자동적으로 높이를 계산한다.
spacing은 view간의 간격을 정해준다.
stackview에 view를 추가할때ㅑ는 addSubView가 아니고 addArrangedSubview로 해줘야지 view가 정렬된 상태로 들어간다.
import Foundation import UIKit import SnapKit class Stack1ViewController: UIViewController { var didSetupConstraints = false let stackView1:UIStackView = { let stack = UIStackView() stack.axis = .vertical stack.spacing = 10 stack.translatesAutoresizingMaskIntoConstraints = false; stack.backgroundColor = .red stack.alignment = .fill stack.distribution = .fillEqually return stack } () let view1:UIView = { let view = UIView() view.backgroundColor = .blue return view }() let view2:UIView = { let view = UIView() view.backgroundColor = .red return view }() override func viewDidLoad() { super.viewDidLoad() self.initUI() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } static func instance() -> Stack1ViewController { let vc = Stack1ViewController() return vc } } //snapkit extension Stack1ViewController { func initUI() { self.view.backgroundColor = .white self.view.addSubview(stackView1) self.stackView1.addArrangedSubview(view1) self.stackView1.addArrangedSubview(view2) view.setNeedsUpdateConstraints() } override func updateViewConstraints() { if (!didSetupConstraints) { stackView1.snp.makeConstraints { make in make.top.equalTo(topLayoutGuide.snp.bottom) make.bottom.left.right.equalTo(0) } didSetupConstraints = true } super.updateViewConstraints() } }
결과화면
https://github.com/choiks14/SnapkitTest
'swift > snapkit' 카테고리의 다른 글
snapkit(11) (0) | 2017.06.25 |
---|---|
snapkit(10) (0) | 2017.06.25 |
snapkit(8) (0) | 2017.06.25 |
snapkit(7) (0) | 2017.06.25 |
snapkit(6) (0) | 2017.06.25 |