본문 바로가기

iOS 앱 개발자 프로젝트

[iOS] viewIsAppearing

viewIsAppearing은 

viewWillAppear와 viewDidAppear 사이에서 불리게 됩니다. 

 

자세히 살펴볼까요?  |    •̅ᴥ•̅)و


 

ViewController의 View 가시성이 변경될때마다

ViewController는 자체 인스턴스 메소드를 호출한다.

 

 

 

viewDidLoad - ViewController의 view가 메모리에 올라가면 불림

viewWillAppear - View가 View hierarchy에 추가될 예정임을 ViewController에게 알림

viewDidAppear - View가 View hierarchy에 추가되었음을 ViewController에게 알림 

 

viewWillAppear는 단순히 View가 추가될 예정을 알리는 메소드 - view의 size나 trait collection 등이 정확하지 않다

 

 

viewIsAppearing은 viewWillAppear와 viewDidAppear 사이에서 불리게 된다.

viewDidLoad  ➡️  viewWillAppear   ➡️  viewIsAppearing   ➡️   viewDidAppear 

 

view가 보일 때(appear) UI를 업데이트 하기 위한 최적의 장소 : viewIsApearing

 

 

1) ViewController의 View를 View hierarchy에 추가하고

2) Superview가 이 View의 배치를 끝낸 뒤에 호출되기 때문에

- ViewController와 View모두 업데이트 된 trait collection을 가지고 있다

- View geometry(size, safe area ) 정확하다

 

https://developer.apple.com/documentation/uikit/uiviewcontroller

 

 

 

짧게 정리하면,

 

1. viewWillAppear(_:) 와 viewDidAppear(_:) 의 사이에서 불림

2. view가 보일 때(appear) UI를 업데이트하기 위한 최적의 장소 

3. iOS 13부터 지원 

 

 

 

※ references

https://co-dong.tistory.com/62

https://zeddios.tistory.com/1390