전체 글 (36) 썸네일형 리스트형 UICollectionView - invalidateLayout() invaildateLayout() 직역하면 현재 레이아웃을 무효화하고 레이아웃 업데이트를 트리거합니다. 기능은 레이아웃 업데이트 사이클에 새롭게 레이아웃을 업데이트 하는 메서드다. 비슷한(?) 기능으로는 reloadData()가 있지만 invaildateLayout은 기존 데이터는 건들이지 않고 레이아웃만 업데이트하는 메서드다. 또한 레이아웃 업데이트를 '트리거' 하는거라 동일한 코드 블럭 안에서 여러번 호출 할 수 있다. 단, iOS 13에서 디바이스를 가로 세로 모드 전환 할 때 메서드를 호출하면 안먹힐 수 있다(?) 간단한 해결 방법으론 VC의 라이프 사이클 중 viewWillTransition(to:with:) 에서 invaildateLayout()를 호출하면 잘 먹는다. Dynamic Color - 다크모드 천천히 알아보기 위해 편하게 작성하겠습니다. WWDC19 - Implementing Dark Mode on iOS - WWDC19 - Videos - Apple Developer Hear from the UIKit engineering team about the principles and concepts that anchor Dark Mode on iOS. Get introduced to the principles of... developer.apple.com 앱의 모든 View 및 ViewController에는 traitCollection이 있으며 이를 통해 뷰의 모양을 결정하는데 도움을 준다. Dynamic Color를 사용하면 자동으로 light 혹은 dark mode의 색상이 정해진다. 자동으로 .. UIView - Content Hugging, Content Comporession Priorities 글을 작성하게 된 계기 : UIStackView의 subviews의 intrinsic Content Size만 생각하고 오토레이아웃에서 Size 지정을 안해줬다가 Content Compression Resistance Priority에 의해 사라지면 안되는 Label, Image들이 사라져서 작성하게 됨 요약 Intrinsic Content Size : UILabel, UIImage 등 '컨텐츠'가 있는 View의 자체 크기. Content Hugging Priorities : 늘어나지 않게 잡아주는 값, 낮다면 가장 먼저 크기가 늘어날 수 있다. Compression Resistance Priorities : 줄어들지 않게 저항하는 값, 낮은 순위면 먼저 줄어든다. Priority : 1 ~ 1000까.. 이전 1 2 3 4 5 ··· 12 다음