stackview 가로로 같은 사이즈 만들기
1.stackview를 생성한다.(세로와 거의 동일하다)
distibution을 fillEqually로 설정하면 stackview의 세로에 맞게 자동적으로 높이를 계산한다.
spacing은 view간의 간격을 정해준다.
stackview에 view를 추가할때는 addSubView가 아니고 addArrangedSubview로 해줘야지 view가 정렬된 상태로 들어간다.
stackview안에 있는 view는 특별히 가로 세로를 넣을것이 아니면 constraint를 안줘도 된다.
import Foundation import UIKit import SnapKit class Stack2ViewController: UIViewController { var didSetupConstraints = false let stackView1:UIStackView = { let stack = UIStackView() stack.axis = .horizontal stack.spacing = 10 stack.translatesAutoresizingMaskIntoConstraints = false; stack.backgroundColor = .white 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() -> Stack2ViewController { let vc = Stack2ViewController() return vc } } //snapkit extension Stack2ViewController { 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을 한 3주일 공부한 느낌 (0) | 2017.06.25 |
---|---|
snapkit(11) (0) | 2017.06.25 |
snapkit(9) (0) | 2017.06.25 |
snapkit(8) (0) | 2017.06.25 |
snapkit(7) (0) | 2017.06.25 |