오늘학습내용
- 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
'야곰커리어캠프_TIL' 카테고리의 다른 글
20220225 / D13 / 화면전환(navigation&modality) 구현 및 데이터공유 + Alert구현 (0) | 2022.02.26 |
---|---|
20220224 / D12 / KVO와 Notification의 장단점 및 Init과 self에대한 궁금증 (0) | 2022.02.25 |
20220215 / D9 / 재귀함수와 반복문의 차이 (0) | 2022.02.16 |
20200213 / D8 / 일반화,추상화,캡슐화,은닉화 (0) | 2022.02.15 |
20200213 / D8 / 함수명 지을때 명사로..? (0) | 2022.02.15 |