viewWillLayoutSubviews()
- 뷰의 bounds가 변하면 뷰는 하위 뷰들의 위치를 조정하는데, 레이아웃이 결정되기 전에 다음과 같은 작업을 수행하고자 할때 이 메서드를 override하여 사용
- 뷰들을 추가하거나 제거
- 뷰들의 크기나 위치를 업데이트
- 레이아웃 constraint를 업데이트
- 뷰와 관련된 기타 프로퍼티들을 업데이트
layoutSubviews()
- 뷰의 크기가 변경될 때마다 이에 대응하여 하위 뷰들의 크기&위치 변경되어야 함 -> auto layout을 사용하면 각 뷰의 autoresizingMask프로퍼티를 설정하여 상위 뷰의 크기가 변경되었을 때 어떻게 대응할 지 규칙을 정할 수 있음
- 뷰의 크기에 변경이 발생하면 우선 하위 뷰들의 autoresizing 동작을 적용하는데, 변경사항을 반영하기 위하여 layoutSubviews()메서드를 호출 (이 메서드 역시 하위 뷰들에서도 연쇄적으로 호출 됨)
viewDidLayoutSubviews()
- 레이아웃이 결정되고 나서 아래와 같은 일을 수행하고자 할 때 이 메서드를 override하여 사용
- 다른 뷰들의 컨텐트 업데이트
- 뷰들의 크기나 위치를 최종적으로 조정
- 테이블의 데이터를 reload
'개발 > 아이오에스' 카테고리의 다른 글
ios] xcode CodeSnippets 백업/복사하기 (0) | 2021.06.29 |
---|---|
swift] json으로 가져온 url(stirng)을 띄어쓰기제거, 한글 인코딩, url 유효성 검사하기 (0) | 2021.06.16 |
ios] 면접질문 (0) | 2021.03.22 |
swift] protocol 사용 Delegate 만들어서 사용해보기! (0) | 2021.03.22 |
ios] CAGradientLayer - 그라데이션 효과 (0) | 2021.03.11 |