layoutIfNeeded

hankyulee·2022년 9월 22일
0

인터뷰

목록 보기
4/12
  • layoutSubviews()는 재귀적으로 자식들의 layoutSubviews()도 재귀적으로 실행

  • 앱이 실행되면 iOS는 내부적으로 메인 스레드에서 main run loop를 실행

  • iOS는 UI를 업데이트할때 업데이트하는 일정의 시간을 두어서, UI 렌더링은 값비싼 작업이기에 효율적으로 업데이트하기 위해 Main Run Loop를 만든 것

  • layoutIfNeeded()가 호출되면, UI를 업데이트 하라는 queue에 뒷쪽에 넣는것이 아니라, 맨 앞쪽에 넣어서 곧바로 UI가 변경되기를 기대할수있는 메소드
    해당 메소드가 호출되면 Update Cycle을 바로 실행하여 레이아웃이 즉각적으로 적용
    2.0초동안 layoutIfNeeded() 메소드를 실행시킨다는 의미 -> Main Run Loop에서 2.0초동안 레이아웃을 업데이트

출처: https://ios-development.tistory.com/986

0개의 댓글