사건의 발단 xib, 스토리보드 없이 onlyCode로 UI를 구현하는 공부를 하고 있었다. 전에 xib를 이용해서 구현한 커스텀 레이아웃을 onlyCode로 짜던 도중 문제가 발생했다. 죽어라 스크롤 해도 스크롤이 안되는 진짜 진짜 이해가 안 가는 문제 발생 ☹️ 코드가 잘못됐나 하고 진짜 계속 다시 보고 다시 읽는데도 내 코드에는 전혀 문제가 없었다. (물론 내 생각) 일단 침착하고 deburg view hierarchy를 켜서 문제를 찾기 시작했다. 컬렉션 뷰에서 문제가 있는 것 같아서 컬렉션 뷰부터 확인했는데 Scrolling Enabled!! 분명히 스크롤은 허용되어 있다.. 그래서 다시 한번 컬렉션 뷰 부분 코드를 봤다. 수평 스크롤을 원했기에 scrollDirection은 horizontal..
그동안 collectionViewFlowLayout으로 단일 섹션, 수직 방향 레이아웃만 만들었었다. 유튜브 뮤직이나 스포티파이 등 여러 슈퍼앱을 보면 위의 사진과 같이 여러개의 섹션에 수직, 수평 방향의 레이아웃이 한번에 들어있는 것을 볼 수 있다. 그래서 이번엔 그런 커스텀 레이아웃을 구성해보려고 한다. 어떻게 만들건데 ? 내가 생각한 방법은 뷰 컨트롤에 메인 테이블 뷰를 만들어서 테이블 뷰1(수평 방향 레이아웃), 테이블 뷰2(수직 방향 레이아웃)을 넣고 각각의 테이블 뷰에 컬렉션 뷰를 넣어서 구현하려고 한다. 과정 일단 메인 뷰 컨트롤러에 테이블 뷰를 만들어 줬다. 메인 테이블 뷰에 넣어줄 테이블 뷰1(수평 방향 레이아웃), 테이블 뷰2(수직 방향 레이아웃)를 xib로 만들고 정의했다. 이 테이블..
아까부터 막 xcode에서 이리저리 만지다가 갑자기 든 생각 🤔 지금까지는 뷰와 Safe Area와의 관계에서 제약조건을 걸어서 오토 레이아웃을 만들었다. 그럼 뷰가 여러개 있을 때 뷰와 뷰끼리의 관계에서 제약조건은 어떻게 할 껀데? 라는 생각이 뽝!! 하고 들었다. 🔥 역시나 애플 공식문서부터 뒤져봤다. "Examining and Editing Constraints" = "제약조건 검사 및 편집" 뭔가 감이 왔다. First Item, Relation, Second Item, Constant 등등 여러 조건이 있는데 보니까 First Item, Second Item, Relation 아이템과 관계에 관련한 조건인가보다 또 Constant 등 거리와 관련된 조건도 있는 것 보니 아마 여기서 설정할 수 있..
오토 레이아웃에 익숙해지려고 혼자 막 다뤄보다가 뭔가 이상한 점을 발견함. witdh과 height을 각각 150, 120으로 주고 Leading과 Top을 각각 20, 50으로 줬다. 여기서 Trailing을 주면? 🙆♂️ 오케이 정상적으로 작동한다. 근데 여기서 Trailing의 값을 바꿔버리면? 뭔가 이상하다..? 실행해보자 크기가 커졌다? 대충 찾아보니까 오토 레이아웃에서 우선순위는 크기가 아닌 앵커 즉, 앵커 > 크기라고 한다. 쉽게 생각해서 크기가 100, 100인 잘 늘어나는 고무줄이 있다. 왼쪽에서는 이미 20을 당기고 있었는데 갑자기 오른쪽에서 20을 당겨버리니까 늘어나버린 것이다. 오늘도 하나 알았다. 저렇게 사용할 일은 없겠지만, 혹시 실수하거나 했을 때 조금 더 쉽게 수정할 수 있..