UICollectionViewDiffableDatasource 개발기
후기 RxDataSource 나 기존 UICollectionViewLayout 으로 구현 불가능한 세로/가로 스크롤형 뷰를 생성 가능 이전 버전에 대한 대응 노하우가 쌓인다면 사용해볼만 함 지원하는 OS 버전이 낮을 수록 안정성이 떨어짐 최소버전을 ...
후기 RxDataSource 나 기존 UICollectionViewLayout 으로 구현 불가능한 세로/가로 스크롤형 뷰를 생성 가능 이전 버전에 대한 대응 노하우가 쌓인다면 사용해볼만 함 지원하는 OS 버전이 낮을 수록 안정성이 떨어짐 최소버전을 ...
WKWebView를 사용하다보면 종종 아래와 같은 크래시를 발견할 수 있다. Fatal Exception: NSInternalInconsistencyException Completion handler passed to -[UIViewController webView:runJa...
유연하고 시각적으로 항목을 결합하는 Layout이며 iOS 13+ 이상에서 사용할 수 있다. Group이라는 중간 계층이 추가되어 horizontal scroll, group items 등 다양한 화면을 만들 수 있다.
TableView(또는 CollectionView)를 그리기 위한 데이터를 관리하고 UI를 업데이트 하는 역할 Data Source와 달리 데이터가 달라진 부분을 추적하여 자연스럽게 UI를 업데이트 UI Data를 관리하고, 변경된 데이터만 UI를 자연스럽게 업데이트 ...
뷰의 크기가 변경될 때마다 이에 대응하여 하위 뷰들의 크기&위치 변경한다. 이 메소드는 setNeedsLayout과 같이 수동으로 layoutSubviews를 예약하는 행위이지만 해당 예약을 바로 실행시킨다.
업데이트 주기에 해당 View와 모든 하위 View를 레이아웃 및 draw 하도록 시스템에 알려주는 역할을 한다.
next drawing cycle 동안 View를 업데이트해야 함을 시스템에 알린다. setNeedsDisplay()메소드 또는 setNeedsDisplay (_ :)를 사용하여 View rendering 을 시스템에 요청한다.
뷰의 크기가 변경될 때마다 이에 대응하여 하위 뷰들의 크기, 위치 변경한다. auto layout을 사용하면 각 뷰의 autoresizingMask프로퍼티를 설정하여 상위 뷰의 크기가 변경되었을 때 어떻게 대응할 지 규칙을 정할 수 있다. 뷰의 크기에 변경이 발생하면 우선...
SuperView 기준
전달된 CGRect 의 영역에 대해 뷰를 다시 그릴때 호출된다.
자신 기준
UIView클래스는 컨텐츠를 표시할 때, on-demand 드로잉 모델을 사용한다. View를 업데이트하려면 다음 드로잉사이클 때까지 기다렸다가 한꺼번에 업데이트 된다. 비동기 요청을 기록하고 즉시 리턴합니다. 즉각적인 업데이트를 강제하지는 않지만, 다음 업데이트 주기를 기다...