UIKit - UIStackView 사용 방법
UIKit - UIStackView 사용 방법
UIStackView란?
UIStackView는 각각의 View들을 하나로 묶어주는 역할을 함.
Apple Develop Document
UIStackView 소개
제공 생성자
사용 가능 프로퍼티 (일부만 가져옴)
axis: 정렬할 방향alignment: 스택뷰 내부 정렬distribution: 스택뷰 내부 공간 분배 기준spacing: 각 뷰의 간격
구현 예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import UIKit
final class ViewController: UIViewController {
private let exBtn1: UIButton = {
let btn = UIButton()
btn.setTitle("exBtn1", for: .normal)
btn.backgroundColor = .black
btn.setTitleColor(.white, for: .normal)
return btn
}()
private let exBtn2: UIButton = {
let btn = UIButton()
btn.setTitle("exBtn2", for: .normal)
btn.backgroundColor = .black
btn.setTitleColor(.white, for: .normal)
return btn
}()
private let exBtn3: UIButton = {
let btn = UIButton()
btn.setTitle("exBtn3", for: .normal)
btn.backgroundColor = .black
btn.setTitleColor(.white, for: .normal)
return btn
}()
// StackView
private lazy var exStackView: UIStackView = {
let stackView = UIStackView(arrangedSubviews: [exBtn1, exBtn2, exBtn3])
stackView.axis = .vertical // 세로축
stackView.spacing = 10 // 간격
stackView.alignment = .center // 가운데 정렬
stackView.distribution = .fillEqually // 모두 동일한 공간을 받음
stackView.backgroundColor = .red
return stackView
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(exStackView)
setupUI()
}
func setupUI(){
exStackView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
exStackView.centerYAnchor.constraint(equalTo: self.view.centerYAnchor),
exStackView.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 30),
exStackView.trailingAnchor.constraint(equalTo: self.view.trailingAnchor, constant: -30)
])
}
}
결과
This post is licensed under CC BY 4.0 by the author.



