본문 바로가기

swift

[viewDidLayoutSubviews] 뷰 크기가 결정된 후에 레이아웃 조정이 필요할 때

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    customView.frame = someCalculatedFrame
}
  • viewDidLayoutSubviews는 뷰의 하위 뷰들이 모두 배치된 직후에 호출된다.
  • UIViewController의 생명 주기 중에 하나이다.
  • 뷰와 모든 서브뷰의 크기나 위치가 계산되어 배치된 직후 호출된다.
  • viewDidLoad()나 viewWillAppear보다 늦고 viewDidAppear보다 빠르다.