์์ฑ | ์ค๋ช |
backgroundColor | ๋ทฐ์ ๋ฐฐ๊ฒฝ์์ ์ค์ |
isHidden | ๋ทฐ์ ์จ๊น ์ฌ๋ถ๋ฅผ ์ค์ |
alpha | ๋ทฐ์ ํฌ๋ช ๋๋ฅผ ์ค์ |
clipsToBounds | ํ์ ๋ทฐ๊ฐ ๋ฒ์ด๋๋ ์์ญ์ ์๋ผ๋ผ์ง ์ฌ๋ถ๋ฅผ ์ค์ |
layer | ๋ทฐ์ ์ฝํ ์ธ ๋ ์ด์ด์ ๋ํ ์ค์ ์ ๊ด๋ฆฌ (ex: ๊ทธ๋ฆผ์, ํ ๋๋ฆฌ ์ค์ ๋ฑ) |
let view = UIView()
view.backgroundColor = .blue
view.isHidden = false
view.alpha = 0.5
view.clipsToBounds = true
view.layer.cornerRadius = 10
UIButton ํด๋์ค๋ UIView ํด๋์ค๋ฅผ ์์๋ฐ์ผ๋ฉฐ, ์ถ๊ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ์์ฑ๋ค์ ์ด๊ธฐ ์ค์ ํ ์ ์๋ค.
์์ฑ | ์ค๋ช |
setTitle(_:for:) | ๋ฒํผ์ ํ์ดํ์ ์ค์ |
setTitleColor(_:for:) | ๋ฒํผ์ ํ์ดํ ์์์ ์ค์ |
titleLabel | ๋ฒํผ์ ํ์ดํ ๋ ์ด๋ธ์ ๋ํ ์์ฑ๋ค์ ๊ด๋ฆฌ (ex: ํฐํธ, ์ ๋ ฌ ๋ฑ) |
addTarget(_:action:for:) | ๋ฒํผ์ ์ก์
๋ฉ์๋๋ฅผ ์ถ๊ฐํ๊ณ , ํด๋น ๋ฉ์๋๊ฐ ํธ์ถ๋ ์ด๋ฒคํธ๋ฅผ ์ค์ |
let button = UIButton()
button.setTitle("Click me", for: .normal)
button.setTitleColor(.white, for: .normal)
button.titleLabel?.font = UIFont.systemFont(ofSize: 16)
button.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
UIStackView ํด๋์ค๋ ๋ทฐ๋ฅผ ๋ฐฐ์ด๋ก ๊ด๋ฆฌํ๊ณ , ํด๋น ๋ทฐ๋ค์ ํ ์ค์ด๋ ํ ์ด๋ก ์ ๋ ฌํ๋ค.
arrangedSubviews | ์ ๋ ฌ๋ ์๋ธ๋ทฐ๋ค์ ๋ฐฐ์ด์ ์ค์ |
axis | ์คํ๋ทฐ์ ์ ๋ ฌ ๋ฐฉํฅ (์์ง ๋๋ ์ํ)์ ์ค์ |
distribution | ์คํ๋ทฐ์ ์๋ธ๋ทฐ๋ค์ ๋ฐฐ์น ๋ฐฉ์์ ์ค์ (๊ท ๋ฑ ๋ฐฐ์น, ๊ท ๋ฑ ๊ฐ๊ฒฉ ๋ฑ) |
alignment | ์คํ๋ทฐ ๋ด์ ์๋ธ๋ทฐ๋ค์ ์ ๋ ฌ ๋ฐฉ์์ ์ค์ (์ํ ์ ๋ ฌ, ๊ฐ์ด๋ฐ ์ ๋ ฌ ๋ฑ) |
spacing | ์๋ธ๋ทฐ๋ค ๊ฐ์ ๊ฐ๊ฒฉ์ ์ค์ |
let stackView = UIStackView()
stackView.addArrangedSubview(label)
stackView.axis = .vertical
stackView.distribution = .fillEqually
stackView.alignment = .center
stackView.spacing = 10
addSubview() | UIView ํด๋์ค์ ๋ฉ์๋๋ก, UIStackView ํด๋์ค๊ฐ ์์๋ฐ์ ๊ฒ์
๋๋ค. ์ด ๋ฉ์๋๋ ์ฃผ์ด์ง ๋ทฐ๋ฅผ ํธ์ถํ๋ ๋ทฐ์ ํ์ ๋ทฐ ๋ฆฌ์คํธ์ ์ถ๊ฐํฉ๋๋ค. addSubview๋ UIStackView์์ ์ง์ ์ ์ผ๋ก ํธ์ถํ ์ ์๋ ๋ฉ์๋๋ ์๋์ง๋ง, UIView์ ํ์ ํด๋์ค์ธ UIStackView์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, UIStackView์ ์๋ก์ด ์๋ธ๋ทฐ๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด addArrangedSubview๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ ํฉํฉ๋๋ค. |
addArrangedSubview(_:) | ์ง์ ๋ ์ธ๋ฑ์ค์ ๋ทฐ๋ฅผ ์ ๋ ฌ๋ ์๋ธ๋ทฐ ๋ฐฐ์ด์ ์ฝ์
. ์ด ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์์น์ ๋ทฐ๋ฅผ ์ถ๊ฐ |
insertArrangedSubview(_:at:) | ์ง์ ๋ ์ธ๋ฑ์ค์ ๋ทฐ๋ฅผ ์ ๋ ฌ๋ ์๋ธ๋ทฐ ๋ฐฐ์ด์ ์ฝ์ ํฉ๋๋ค. ์ด ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์์น์ ๋ทฐ๋ฅผ ์ถ๊ฐ |
removeArrangedSubview(_:) | ์ฃผ์ด์ง ๋ทฐ๋ฅผ ์ ๋ ฌ๋ ์๋ธ๋ทฐ ๋ฐฐ์ด์์ ์ ๊ฑฐํฉ๋๋ค. ์ด ๋ฉ์๋๋ ๋ทฐ๋ฅผ ์ญ์ ํ ๋ ์ฌ์ฉ |
setCustomSpacing(_:after:) | ๋ ์๋ธ๋ทฐ ์ฌ์ด์ ์ฌ์ฉ์ ์ ์ ๊ฐ๊ฒฉ์ ์ค์ ํฉ๋๋ค. ํน์ ๋ทฐ ๋ค์์ ๊ฐ๊ฒฉ์ ์ค์ ํ ๋ ์ ์ฉ |
import UIKit
// UIStackView ์์ฑ
let stackView = UIStackView()
stackView.axis = .vertical
stackView.alignment = .center
stackView.spacing = 10
// Label ์์ฑ ๋ฐ ์ค์
let label1 = UILabel()
label1.text = "Label 1"
label1.backgroundColor = .blue
label1.textAlignment = .center
// UIStackView์ Label์ addArrangedSubview๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๊ฐ
stackView.addArrangedSubview(label1)
// UIStackView๋ฅผ ํ๋ฉด์ ์ถ๊ฐํ๋ ์ฝ๋ (์์์์ ์๋ต)
//=======================================================
// UIStackView ์์ฑ
let stackView = UIStackView()
stackView.axis = .vertical
stackView.alignment = .center
stackView.spacing = 10
// Label ์์ฑ ๋ฐ ์ค์
let label2 = UILabel()
label2.text = "Label 2"
label2.backgroundColor = .green
label2.textAlignment = .center
// UIStackView์ ์ง์ ์๋ธ๋ทฐ๋ฅผ ์ถ๊ฐ
stackView.addSubview(label2)
// SnapKit์ ์ฌ์ฉํ์ฌ ์ถ๊ฐํ ๋ทฐ์ ์ ์ฝ ์กฐ๊ฑด ์ค์
label2.snp.makeConstraints { make in
make.top.equalToSuperview().offset(20)
make.leading.equalToSuperview().offset(20)
make.width.equalTo(200)
make.height.equalTo(50)
}
// UIStackView๋ฅผ ํ๋ฉด์ ์ถ๊ฐํ๋ ์ฝ๋ (์์์์ ์๋ต)
SnapKit ์์ฑ๋ค์ Auto Layout ์ ์ฝ ์กฐ๊ฑด์ ์ค์ ํ ๋ ์ฌ์ฉ๋๋ค.
makeConstraints | ์ ์ฝ ์กฐ๊ฑด์ ๋ง๋ค๊ธฐ ์ํ ๋ฉ์๋ |
equalTo | ํด๋น ๋ทฐ์ ํฌ๊ธฐ๋ ์์น๋ฅผ ๋ค๋ฅธ ๋ทฐ์ ๊ฐ๊ฒ ์ค์ |
eqalToSuperview | ๋ถ๋ชจ ๋ทฐ์ ๋ํด ๋์ผ์ฑ์ ์ค์ |
width, height | ๋ทฐ์ ๋๋น๋ ๋์ด๋ฅผ ์ค์ |
leading, trailing | ๋ทฐ์ leading (์ผ์ชฝ) ๋๋ trailing (์ค๋ฅธ์ชฝ) ์ ์ฝ ์กฐ๊ฑด์ ์ค์ |
top, bottom | ๋ทฐ์ top ๋๋ bottom ์ ์ฝ ์กฐ๊ฑด์ ์ค์ |
centerX, centerY | ๋ทฐ์ centerX (๊ฐ๋ก ์ค์) ๋๋ centerY (์ธ๋ก ์ค์) ์ ์ฝ ์กฐ๊ฑด์ ์ค์ |
// centerX, centerY ์์
view.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.centerY.equalToSuperview()
}
// width, height ์์
view.snp.makeConstraints { make in
make.width.equalTo(100)
make.height.equalTo(50)
}
// leading, top, trailing, bottom ์์
view.snp.makeConstraints { make in
make.leading.equalToSuperview().offset(20)
make.top.equalToSuperview().inset(30)
make.trailing.equalToSuperview().offset(-20)
make.bottom.equalToSuperview().inset(30)
}
// edges ์์
view.snp.makeConstraints { make in
make.edges.equalToSuperview().inset(UIEdgeInsets(top: 10, left: 20, bottom: 10, right: 20))
}
[UIKit] ํํ๋ชจ๋ฌ ๊ตฌํ(Scrollable Bottom Sheet) - SheetPresentationController (0) | 2024.07.03 |
---|---|
[ UIKit ] addTarget(_:action:for:) ๋ฉ์๋ (0) | 2024.06.30 |
์คํ ๋ฆฌ๋ณด๋๋ก UIScrollView ๋ง๋ค๊ธฐ (0) | 2024.06.22 |
UIStackView (0) | 2024.06.21 |
[ iOS ์ฑ๊ฐ๋ฐ ์ ๋ฌธ 1์ฃผ์ฐจ ] Xcode ์์ (0) | 2024.06.18 |