[Text 시리즈 2] Font Metrics 와 Glyph metrics
·
iOS/UIKit
👋 들어가기 전이전 시리즈https://hamp.tistory.com/236 [Text 시리즈 1] Typographical Concepts👋 들어가기 전Text는 가장 기본적인 UI면서, 가장 중요한 UI라고 생각한다.이미지가 없는 서비스는 있더라도, Text는 서비스에 필수적인 부분이다. Text를 본격적으로 공부해본적이 없고, 좋은 프hamp.tistory.com 텍스트 시리즈 두번 째는 바로 Metrics에 대해 알아보자.실제 코드를 해볼 경험은 많지 않지만, Metrics을 활용해 섬세한 차이를 벌릴 수 있다. 텍스트에 예민한 유저나 디자이너에게 이쁨을 받기위해 알고있으면 좋은 정보일 것 같다.🏁 학습할 내용Font MetricsGlyph MetricsAdvance width와 Kernin..
HitTest와 touchesBegan은 무슨 관계가 있을까?
·
iOS/UIKit
👋 들어가기 전UIKit에서 이벤트를 처리할 때, 항상 HitTest와 touchesBegan을 혼동하고 왜 혼동할까라는 근본적인 의문이 있어이번에 여러가지 실험을 통해 나만의 정리를 한번하려고한다. 그전에 이전 부스트 캠프에서 공부했던 내용을 잠깐 정리하고 가보자.https://hamp.tistory.com/19 UIResponder Chain챌린지 때 간단하게만 보고 지나간 iOS에서 이벤트 처리하는 과정을 다시 한번 학습해보자. 처음은 각 과정에서 등장하는 구성요소의 개념부터 학습해보자.1. UIEvent앱에서 하나의 유저 인터렉션hamp.tistory.com🏁 학습할 내용HitTest의 목적과 흐름touchesBegan의 목적과 흐름실험관계 정리🧨 HitTest🎯목적override func..
레이아웃 핵심 프로세스
·
iOS/UIKit
👋 들어가기 전이전에 학습한 https://hamp.tistory.com/210 디바이스 회전 포스팅 마지막 질문인회전 시 UICollectionView와 같은 cell에 대한 레이아웃 갱신을 이번 포스팅에서 이어가보자.🏁 학습할 내용레이아웃의 core processinvalidateLayout🚅 레이아웃 core process먼저 전체적인 과정은 위와 같다.각 과정을 차례대로 알아보자.🚦prepare⭐️ 정의레이아웃 계산하기 전 미리 필요한 데이터나 상태를 준비하는 함수간단히 말하면 레이아웃을 그리기 전 사전 작업(셀 위치 계산, 내부 캐시 초기화 등)을 준비📞 호출 시기CollectionView의 내용이 처음 보일 때 또는 layout이 invalidated 될 때 호출된다. 🖼️ col..
디바이스 회전 대응
·
iOS/UIKit
👋 들어가기 전최근 들어 iPad 앱을 도전해보고 싶은 마음이 점점 커지고 있다.그래서 앱에서 디바이스를 회전했을 때 대응하는 과정을 한번 학습해보고 싶었다.🏁 학습할 내용먼저 가장 필요한 내용이 화면 회전 시 호출될 생명주기와대응코드가 들어갈 위치를 알아보자. 이후 엣지 케이스 대응을 위한 추가학습 미리보기까지 정리해보자. viewWillTransitionlayoutSubview🔄 viewWillTransition⭐️ 정의공식문서를 살펴보면 viewWillTransition은 뷰들을 포함하는 컨테이너의 사이즈가 변경되면 호출된다고 써 있다. 가장 대표적인 컨테이너 사이즈 변화는 디바이스 회전이 있다.아이패드 일 때는 스플릿 뷰도 포함된다.🔥 구성요소 override func viewWillTr..
Transitioning
·
iOS/UIKit
👋 들어가기 전오랜만에 돌아왔다..오랜만에 네이버 부스트캠프를 오랜만에 회고하면서마지막 프로젝트에서 미쳐 학습하지 못한 내용이 없지 않을까 싶어서 봤더니 현준님께서 만들었던 히어로 애니메이션을 보고오늘의 주제를 정했다. iOS앱에서 화면 전환은 크게 2가지가 있다.네비게이션을 통해 다음 화면으로 들어가거나, modal을 통해 화면에 나타나는 방식이다. 기본적으로 제공해주는 전환 애니메이션도 매우 훌륭하지만항상 커스텀을 대비해야하는건 Front 개발자로서 피할 수 없는 여정이다. 그리하여 오늘은 "커스텀 화면 전환" 이다. 먼저 Xcode에 오늘의 키워드 Transitioning을 검색하니이렇게 나오는데 오늘은 Transitioning관련은 3번째와 4번째를 학습해보자. 다른 부분은 필요할 때 다시 이 ..
UIStackView 뿌시기
·
iOS/UIKit
👋 들어가기 전 설 연휴 동안 UIKit 감각을 찾기위해 여러가지 끄적거리고 있었는데 UIStackView의 속성을한번 정리해보려고 한다. 항상 급할 때마다 블로그에서 시각자료로 보고 결정했는데 이번에는 내 방식대로 정리한 후 내꺼를 보는게 더 나을 것 같다. ㅋㅋㅋ 시각적으로 쉽게 이해하기 위해 axis는 horizontal로 살펴보자. 설명 중 파란색 괄호는 axis를 .vertical로 변경했을 때 영향을 받는 속성으로 약속하자✊기본 세팅기본은 horizontal axis의 UIStackView에 4개의 UILabel을 넣은 형태다. private let stackView: UIStackView = { let stackView = UIStackView() stackView.axis =..