
개요 복잡한 TableView 의 Cell 을 구성하거나, 여러 곳에서 활용하는 복잡한 뷰를 구성할 때, 계속해서 해당 뷰를 스토리보드나 코드를 통해 작성하는 것은 매우 귀찮은 작업이다. SwiftUI 를 활용하면 아주 쉽게 재활용할 수 있는 View 를 구성 가능하다. UIKit 에선 어떻게 Custom View 를 사용해 적절히 재활용을 하고 코드를 줄일 수 있을까? xib 파일을 활용해 Custom View 를 생성해보자. 1. Xib를 활용한 방법 Xib 는 Xcode Interface Builder 의 줄임말으로, Storyboard 와 똑같이 캔버스를 활용해 View 를 구성 가능하다. 먼저 새로운 파일을 View 템플릿을 활용해 생성하자. 그러면 xib 확장자를 가진 파일이 생성된 것을 확인..

AutoLayout - Hugging Priority Hugging Priority AutoLayout 에 대해 공부하던 중, Hugging Priority Attribute 는 왜 있는거고 어디에 쓰이는지 궁금해졌다. 다음과 같이 두 개의 텍스트 라벨이 있는 화면을 생각해보자 위에서 회색 배경을. forstudy.tistory.com Compression Resistance Priority 이전에 Hugging Priority 에 대해 알아보았다. 그렇다면 바로 밑에 존재하는 속성인 Compression Resistance Priority 는 뭘까?? 영어를 직역하자면 압축 저항 우선 순위라고 하는데, 지금부터 Compression Resistance Priority 에 대해 알아보자 다음과 같이 텍..

Hugging Priority AutoLayout 에 대해 공부하던 중, Hugging Priority Attribute 는 왜 있는거고 어디에 쓰이는지 궁금해졌다. 다음과 같이 두 개의 텍스트 라벨이 있는 화면을 생각해보자 위에서 회색 배경을 가진 라벨에 좌측 상단으로부터 20 포인트 씩 떨어져있는 제약조건을 추가해보자. 그리고 노란색 배경을 가진 라벨에 좌측, 상단, 우측으로부터 20포인트 씩 떨어져있는 제약조건을 추가해보자. 그러면 우리는 위와 같이 에러가 뜨는 것을 볼 수 있다. 에러 메시지를 살펴보도록 하자. Yellow Label 의 Hugging Priority 를 251에서 250으로 낮추라는 메시지를 볼 수 있다. 이것이 무슨 뜻일까?? 우리가 회색 라벨에 좌측 상단 20포인트 제약조건..

Constraint 다음과 같은 화면이 있다고 생각해보자. 위 스크린샷의 노란색 뷰는 넓이가 290이고, 높이가 657이다. 만약에 기기를 회전하거나 다른 크기를 가진 아이폰을 가져온다면 위 뷰는 어떻게 변할까? 아이폰이 회전되었을 때, 아이폰의 높이가 노란색 뷰보다 훨씬 작기 때문에 노란색 뷰가 화면 밖으로 벗어나는 것을 알 수 있다. 만약에 위 노란색 뷰가 사용자에게 보여줘야할 텍스트 뷰라면, 화면을 돌렸을 때 아래와 같이 보여줘야 하는게 훨씬 사용자 경험을 좋게 할 것이다. 즉 아이폰을 회전하거나, 크기가 다른 아이폰을 사용할 때 우리가 의도한 대로 사용자에게 콘텐츠를 보여주는게 궁극적인 목표라 할 수 있을 것이다. 만약 크기가 더 작은 아이폰을 사용했을 때 뷰들이 화면 밖으로 빠져 나간다거나 하는..
Comment