AutoLayout Minimum Width 비교하기
·
Study/iOS
이번에는 Minimum Width를 마주하게 되었다. 이게 무슨 뜬금없는 소리일까 싶을 수도 있겠다. 배경AutoLayout을 사용해보던 중, UILabel width를 100과 같은 특정 값을 주게 되면Localization Issue 경고가 발생하는데 Xcode에서 3가지 옵션을 제안해준다. 제약조건을 삭제할 것인지,Current Width 혹은 Minimum Width 이상으로 설정할 것인지 선택하면 된다. 당연히 아래 두 개 옵션 중 하나를 선택해야 했는데무슨 차이가 있을까 싶었다. 비교해보기Current Width설명에는 텍스트가 더 길어져도 현재 레이아웃을 유지하며라벨 너비가 늘어날 수 있게 허용한다고 되어있다. 그럼 실제로 스토리보드에는 어떤 값이 입력될까?내가 기존 값을 100으로 설정했는..
AutoLayout Constraint 설정과 Safe Area, Size class
·
Study/iOS
이번 글에서는 AutoLayout을 사용해보면서 size class, safe area, constraint까지 알아볼 예정이다. AutoLayout의 필요성이미지뷰와 텍스트를 특정 위치에 드래그해서 만든 화면을 가로로 돌려보자. 그럼 화면이 세로로 구성되어 가로화면에서 잘리게 된다. 이 문제를 해결하기 위해서는 해상도마다 화면이 어떻게 보일지 수정하는 방법이 있을 것이다.(그나마 iOS라서 할수는 있을지도..? 안드로이드에서는 죽음뿐..) 하지만, 모든 해상도 및 기기에서 화면 구현을 하기는 어렵다. Size class지금까지 수많은 아이폰과 아이패드가 출시되었고 다양한 기기 사이즈와 해상도가 있다. 그래도 애플은 몇몇 시리즈끼리는 사이즈와 해상도가 동일하기도 하다.(그렇게 혁신이 없다고 욕을 먹는 지..
Flow의 기본적인 Intermediate Operator 알아보기
·
Study/Kotlin
이번 글에서는 지금까지 Flow를 공부하며 사용해왔던 intermediate operator를 포함해Flow의 기본적인 intermediate operator를 알아보려 한다. 몇몇 연산자는 리스트같은 컬렉션에서 사용하던 함수들도 있어서익숙한 친구들도 있을 것이다. mapNotNull저번 Flow 관련 글에서는 map을 사용했었다. 이번에는 mapNotNull을 알아볼 것이다. suspend fun main() { flowOf(1, 2, 3, 4, 5) .map { it * 100 } .collect { println(it) }}map을 사용한다면 collect 이전에 사용할 수 있을 것이고,지금 예제 코드처럼 실행하게 된다면 콘솔에는 100 ~ 500의 결과가 보일 것이다..