본문 바로가기

iOS개발9

[iOS/ UIKit] UIFont Custom - Variable Font와 마주친 문제 프로젝트를 진행하면서 디자이너 분께 디자인 시스템을 전달받았고, 그중에는 타이포그래피를 정리해 둔 폰트 시스템이 있었다. 폰트파일을 불러와서 커스텀 폰트를 사용한 것이 처음이 아니었기에 쉽게 생각하고 진행하였는데예상치 못한 오류를 발견하였다. 계속해서 폰트를 찾지 못하는 오류를 가져왔다.분명 나는 파일을 추가하고, 타겟을 설정하고, 인포 파일 설정까지 끝마쳤는데 왜 오류가 뜨는지 알 수 없었다.. 추가 과정에는 문제가 없었다ㅠ 디자인에 대해 얄팍한 지식을 가지고 있어서 마주친 문제였... 혹시라도 같은 상황을 마주친 사람들이 있다면 힌트를 주고자 정리를 해보았다. 우선 내가 마주친 상황은 커스텀 폰트 생성 시 폰트를 찾을 수 없다는 오류였는데보통 이러한 오류는 인포파일 설정, 혹은 타깃 설정, 파일을 제.. 2024. 7. 3.
[Swift] 옵셔널 체이닝과 nil 병합 연산자 옵셔널 체이닝 옵셔널 체이닝이란? nil일수도 있는 옵셔널 프로퍼티, 메서드, 서브스크립트 등을 가져오거나 호출하는 과정이다. 값이 있으면 접근을 허용하여 성공적으로 호출이 되고, 값이 없으면 nil을 반환한다. 호출하고 싶은 옵셔널에?를 붙여 표현하면 사용할 수 있다. 특징 옵셔널 체이닝의 마지막 표현식은 값이 옵셔널이든 아니던?를 생략한다. ex) A?.B? 는 안되고 A?. B로 표현해야 함 중첩된 옵셔널 중 1개라도 값이 존재하지 않으면(nil을 가지면) 결과적으로 nil을 반환한다. 그리고 nil을 반환한 옵셔널 뒤의 표현식들은 평가되지 않는다. ex) A?. B?. C?. D일 때 B가 값을 가지고 있지 않아 nil을 반환한다면 B뒤의 표현식인 C와 D는 평가되지 않고 B에서 평가를 멈추고 n.. 2023. 3. 31.
[IOS] [AutoLayout] Safe Area와 Layout Margin Safe Area란? 말 그대로 콘텐츠를 안전하게 보여줄 수 있는 영역을 의미한다. 기본적으로 제약조건을 설정하면 safe area에 적용된다. 루트뷰에서 뷰를 하나 생성해 constraints를 모두 0으로 설정한 모습을 보면 아래와 같다. 8 플러스의 경우 콘텐츠에 방해되는 요소가 없기 때문에 화면 모두가 safe area이지만 노치와 하단바 밑 화면 곡선이 등장한 모델부터는 하단과 상단의 약간의 빈틈이 생긴 것을 볼 수 있다. Layout Margin Layout Margin 이란 view와 콘텐츠 사이의 margin을 의미한다. 인터페이스 빌더에서 우리는 constraints를 설정할 때 margin옵션을 선택할 수 있다. constrain to margin이라고 써져있는 체크박스가 마진을 포함하.. 2023. 3. 15.
[IOS] [AutoLayout] Stack View 정리 Stack View란? stack view란 오토레이아웃을 편하게 사용할 수 있도록 도와주기 위해 등장하였다. 요소를 세로(Vertical Stack View) 혹은 가로(Horizontal Stack View) 방향으로 묶어주는 역할을 한다. Stack View의 경우 콘텐츠들이 나열돼있는 방향을 토대로 수직 혹은 수평 방향을 자동적으로 적용해 준다. 따라서 수직방향으로 자동으로 스택뷰로 정렬된 모습을 볼 수 있다. 자동적으로 방향을 잡아 정렬해주지만 Axis 속성을 통해서 방향을 바꿔줄 수 있다. Stack View Property 스택뷰에는 크게 다섯가지의 속성이 있다. axis : 스택 뷰의 방향(수직, 수평)을 정의한다. (UIStackView만 해당) orientation : 스택 뷰의 방향(.. 2023. 3. 13.