23.12.27 TIL - 팀과제 Koisk 2

Hay·2023년 12월 27일
1

처음에는 카테고리를 컬렉션뷰로 만들려고 했는데, 너무 복잡해지고 나의 수준을 뛰어넘는 거 같아서 그냥 더 간단해보이는 스택뷰로 카테고리를 만들기로 했다

import UIKit

class CategoryViewController: UIViewController {
    
    // 카테고리 어레이
    let menuCatecory = ["버거", "사이드", "음료"]
    
    var categoryStackView: UIStackView!
   

    // MARK: - viewDidLoad
    override func viewDidLoad() {
        super.viewDidLoad()
    
        categoryStackView = UIStackView()
        categoryStackView.axis = .horizontal
        categoryStackView.distribution = .fillEqually
        categoryStackView.backgroundColor = UIColor.init(cgColor: #colorLiteral(red: 1, green: 0.7779013515, blue: 0.4334530234, alpha: 0.8470588235))
        // add subview
        view.addSubview(categoryStackView)
        
        // 카테고리의 button - 버거, 사이드, 음료; 현재는 테스트로 버거만
        let button = UIButton()
        button.setTitle(menuCatecory[0], for: .normal)
        button.addTarget(self, action: #selector(categoryButtonTapped), for: .touchUpInside)
        categoryStackView.addArrangedSubview(button)
        
        
        categoryStackView.translatesAutoresizingMaskIntoConstraints = false
        
        // add constraints
        NSLayoutConstraint.activate([
            categoryStackView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
            // 나중에 상세 메뉴에 맞춰서 위치를 조절할 수도 있도록 constraint를 추가해야함
            //categoryStackView.bottomAnchor.constraint(equalTo: <#T##NSLayoutAnchor<NSLayoutYAxisAnchor>#>)
            categoryStackView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor),
            categoryStackView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor),
            //임시 constraint
            categoryStackView.centerXAnchor.constraint(equalTo: view.centerXAnchor)
            
        ])
        

    }
    // MARK: - Functions
    @objc func categoryButtonTapped(_ sender: UIButton) {
        //나중에 이 버튼들이 눌리면 해당 카테고리의 메뉴를 보여줄 수 있도록 연결해야함
        print(sender.titleLabel?.text)
    }
}

0개의 댓글