멘탈이 우르르 쏟아져 내려간다.
스택뷰에 1번 실패하고
스택뷰에 2번 실패하고
스택뷰에 3번 실패하고
다시금 주변 도움을 받아서 만들게 되었다
스택뷰에 뭐가 잘못됫는지 아직도 햇갈리는 부분은 너무나 많고
또 모르는 부분도 상당하다 다시금 계속 공부하면서 모르는부분은 계속 다시 채워 나갈 예정이다.
ㅡㅡㅡㅡㅡㅡㅡㅡ
import UIKit
import SnapKit
class ViewController: UIViewController {
let Label = UILabel()
let stack1 = UIStackView()
let stack2 = UIStackView()
let stack3 = UIStackView()
let stack4 = UIStackView()
let vertical = UIStackView()
override func viewDidLoad() {
super.viewDidLoad()
NumberLable()
}
private func NumberLable() {
view.backgroundColor = .black
// 레이블
Label.text = "12345"
Label.textColor = .white
Label.textAlignment = .right
Label.font = .boldSystemFont(ofSize: 60)
view.addSubview(Label)
Label.snp.makeConstraints{
$0.top.equalToSuperview().offset(200)
$0.leading.equalToSuperview().offset(30)
$0.trailing.equalToSuperview().offset(-30)
$0.height.equalTo(100)
}
firstHorizontalStackView()
myverticalStackView()
}
// 버튼과 스택뷰를 만들기 위한 함수 만들기
private func firstHorizontalStackView() {
let stackViews = [stack1, stack2, stack3, stack4] // 4개의 스택뷰를 구성해준다
let btn = [["7","8","9","+"], ["4","5","6","-"], ["1","2","3","*"], ["AC","0","=","/"]]
// let btn = 은 내가 배열의 4개의 인덱스를 만들어준다
// enumerated() 메서드는 컬렉션(배열, 딕셔너리 등)의 각 요소에 대해 인덱스와 함께 순회 할 수 있도록 도와줍니다.
for (i, stackViews) in stackViews.enumerated() {
makeHorizontalStackView(stackView: stackViews) // 가로 스택뷰에 추가한다
bunHorizontalStackView(stackview: stackViews , titles: btn[i])
// bunHorizontalStackView 함수에서 한개씩의 인덱스가 들어가서 버튼을 생성한다 0...3까지
}
// 첫번째로 먼저 할일 스택뷰를 먼저 구성해준다
func makeHorizontalStackView(stackView: UIStackView) {
stackView.axis = .horizontal
stackView.backgroundColor = .black
stackView.spacing = 10
stackView.distribution = .fillEqually
view.addSubview(stackView)
stackView.snp.makeConstraints{
$0.width.equalTo(350)
$0.height.equalTo(80)
$0.centerX.equalToSuperview()
}
}
// 버튼만드는 스택뷰
func bunHorizontalStackView(stackview: UIStackView, titles: [String]) {
for title in titles {
let buttonLabel = UIButton()
buttonLabel.setTitle(String(title), for: .normal)
buttonLabel.backgroundColor = UIColor(red: 58/255, green: 58/255, blue: 58/255, alpha: 1.0)
buttonLabel.frame.size.height = 80
buttonLabel.frame.size.width = 80
buttonLabel.layer.cornerRadius = 40
buttonLabel.titleLabel?.font = .boldSystemFont(ofSize: 30)
stackview.addArrangedSubview(buttonLabel)
}
}
}
private func myverticalStackView() {
vertical.axis = .vertical
vertical.backgroundColor = .black
vertical.spacing = 10
vertical.distribution = .fillEqually
view.addSubview(vertical)
vertical.snp.makeConstraints{
$0.width.equalTo(350)
$0.top.equalTo(Label.snp.bottom).offset(60)
$0.centerX.equalToSuperview()
}
vertical.addArrangedSubview(stack1)
vertical.addArrangedSubview(stack2)
vertical.addArrangedSubview(stack3)
vertical.addArrangedSubview(stack4)
}
}
참 어렵고 모르는것 투성이인데 내가 과연 전부를 이해 할수 있을까?
라는 생각이 드는 하루이다.
앞으로 더 어려워지고 더 모르는거 투성이일텐데
겁을 먹고있다.
앞으로 더 많은것들이 있으면 이건 정말 쉬운거겠지 라고 생각하면서
그 어려운걸 해쳐나가면 앞으로는 이정도는 껌이 될 수 있지 않을까
하루하루 행복회로를 하며 혼자 또 끄적이는 일기장을 작성한다