본문 바로가기

야곰커리어캠프_TIL

20220222 / D11 / auto 레이아웃 맛보기...

오늘학습내용

  • navigation bar 학습
  • autolayout 코드로작성할수있는방법은 3가지?

Navigation View Controller

  • 계층적으로 구성된 Content를 순차적으로 보여주는 container view controller
  • stack구조로 구현되어있다. - navigation stack
  • 계층 구조 탐색으로 앱 content를 보여주기에 적절하다
  • 한번에 한 child view controller의 content만 보여진다.

tree구조처럼 상위 카테고리에서 점차 하위 카테고리로 넓어져 가는 구조를 표현한다.
다시 상위 카테고리로 돌아가기 위해서는 가장 최근에 보여진 VC부터 역순으로 거쳐가야된다. 즉 LIFO(Last In First Out)
특성의 stack구조가 이를 구현하기에 적절하다. Navigation Controller의 pop/push method를 사용하여 보여지는 child view controller를 변경한다.

AutoLayout을 구현하는 방법에는 3가지가 있다구 한다.

  • 앵커(Anchor)를 통해서 구현
  • NSLayoutconstraint 인스턴스로 구현하는방법
  • Visual Format Language 를 통해 특정 형식을 맞추어 구현

3번째 비쥬얼은 이해가 잘 되지않아 패스하고 가장 직관적으로 보이는 두번째방법을 사용해봤지만,아직 전반적으로 어떻게 작동하는지 와닿지않는다… 그냥 이렇게 작성할 수 있구나정도로 넘기고 스토리보드로 직접 두두리면서 차근차근 코드로 작성해보는 시간들 가져보는것이 좋을것같다.

    @IBOutlet weak var firstSquareView: UIView!
    override func viewDidLoad() {
        super.viewDidLoad()
        
        view.backgroundColor = .brown
        firstSquareView.backgroundColor = .red
        
                firstSquareView.translatesAutoresizingMaskIntoConstraints = false
       // 제약 속성 코드
        NSLayoutConstraint(item: firstSquareView,
                           attribute: .leading,
                           relatedBy: .equal,
                           toItem: view,
                           attribute: .leading,
                           multiplier: 1.0,
                           constant: 8).isActive = true