개발 패턴
Label의 크기
![](https://velog.velcdn.com/images/rudin_/post/041fbf5c-a0f2-4c5a-8635-aac4eaa66a7f/image.png)
![](https://velog.velcdn.com/images/rudin_/post/36d9c279-c9c3-44a1-b1c7-9f61f03521e6/image.png)
- 같은 크기의 폰트여도 디바이스에 따라 가독성의 차이가 나타난다.
- iphone에서는 Large Title, ipad에서는 100pt로 설정하기
- RR: ipad -> 100pt (멀티태스킹 모드는 무시)
- RC: iphone -> Large Title
![](https://velog.velcdn.com/images/rudin_/post/1d4c44f9-e68b-48d2-a22e-9f1774ff3f32/image.png)
- Gamut: 컬러 프로필을 설정하는 것인데, 보통 Any로 둠. 드물게 설정
- Idiom: 디바이스의 타입을 구분할 때 사용(Mac Catalyst 사용 시 설정). 보통 Any로 둠
- +가 없는 속성은 스토리보드에서 설정할 수 없고 코드로만 설정할 수 있다.
- 이렇게 설정하면 iPad에서는 100pt, 그 외의 상황에서는 Large Title이 적용된다.
UIView의 크기
- 사이즈 클래스에 따라 서로다른 높이로 표시되도록 할 예정
![](https://velog.velcdn.com/images/rudin_/post/26006e0e-ecd7-4f71-9e1d-c90a7e905fb2/image.png)
![](https://velog.velcdn.com/images/rudin_/post/02e97352-77b9-45c3-a9ec-2a6cabf1b329/image.png)
- 제약을 선택한 상태에서 인스펙터 뷰에서 추가 가능하다.
iPad
![](https://velog.velcdn.com/images/rudin_/post/2c788afd-17ee-4b4a-8c0e-1101dc8159c2/image.png)
iPhone
![](https://velog.velcdn.com/images/rudin_/post/088b82f4-3d17-4416-b659-d469bba2af8a/image.png)
Stack View의 방향
![](https://velog.velcdn.com/images/rudin_/post/4eaff749-e865-4991-8b6c-8c4d65725350/image.png)
- portrait 에서는 수직방향, landscape 에서는 수평방향으로 바꾸기
![](https://velog.velcdn.com/images/rudin_/post/e56450d4-b144-42f1-aca4-6e71c3a757d2/image.png)
- Any-Any에서는 Vertical, RC 혹은 AC에서 Horizontal로 설정하기
portrait(AA)
![](https://velog.velcdn.com/images/rudin_/post/f46e1518-814a-4f5a-9686-3bc1f4c81e18/image.png)
landscape(RC)
![](https://velog.velcdn.com/images/rudin_/post/3324a926-ee5d-40c0-9020-82207f2f24d0/image.png)
버튼의 크기
![](https://velog.velcdn.com/images/rudin_/post/311e07fd-49b5-4914-9689-be90a9780f8e/image.png)
- iphone의 portrait에서는 너비 전체를 채우고 나머지는 300pt 고정 너비로 수평 가운데에 배치되도록 하기
- leading 제약과 trailing 제약에서 Relation을 Greator than or Equal로 설정, 고정 너비 제약, Center X 제약 추가.
![](https://velog.velcdn.com/images/rudin_/post/c3736b12-9360-4969-8303-025e25760d63/image.png)
- 여기서 iphone의 portrait에서는 너비 제약이 적용되지 않도록 해주어야 한다.
![](https://velog.velcdn.com/images/rudin_/post/4877ef1b-f403-4e66-bb8f-09b7bd4268bc/image.png)
- installed를 체크 해제하면 적용되지 않게 바뀌므로, CR(혹은 CA) 에서는 installed되지 않도록 한다.
![](https://velog.velcdn.com/images/rudin_/post/d70187bd-9d2a-47b4-a5a0-c2c858d1b5c2/image.png)
- 버튼의 너비는 Intrinsic Size가 되므로 leading, trailing 제약을 추가하고 동일하게 CR(CA)에서만 사용되게 하고, 이전의 Greator than or equal 제약은 나머지 사이즈 클래스에서 사용하도록 설정해주면 된다.
Greator than or Equal
![](https://velog.velcdn.com/images/rudin_/post/e640074f-16bb-4908-9ac5-6abe69ff107d/image.png)
![](https://velog.velcdn.com/images/rudin_/post/624886b6-88b1-4e1f-9f79-920b90abb255/image.png)
leading, trailing
![](https://velog.velcdn.com/images/rudin_/post/b917aa68-a238-4bdb-bc5c-5fd235e33889/image.png)
![](https://velog.velcdn.com/images/rudin_/post/ebb27e5f-b641-43ee-8a3d-5add51783374/image.png)
portrait
![](https://velog.velcdn.com/images/rudin_/post/689fb3ca-b22d-425c-a4a8-6a317a0b2035/image.png)
![](https://velog.velcdn.com/images/rudin_/post/81a17173-e406-474c-adaf-4c22ef2c7fd2/image.png)
그 이외
![](https://velog.velcdn.com/images/rudin_/post/a375c1e1-a6ab-4826-8ea3-79879d285160/image.png)
![](https://velog.velcdn.com/images/rudin_/post/ee891999-f024-4e8d-ae04-ab9fc73132d7/image.png)
![](https://velog.velcdn.com/images/rudin_/post/afeeaaea-3d03-44c9-bc5f-041d2cf009d2/image.png)