UIKit, SwiftUI, H.I.G(35)
-
[UIKit] 재사용 Component 개발하기 (2) - 팝업창 (Alerts)
[UIKit] 재사용 Component 개발하기 (1) - Toast Message 💡 재사용 Component 개발하기 시리즈 글을 시작하며 이번 33기 앱잼이었던 프로젝트에서 우리 iOS 팀이 추구한 방향 중 하나는, 앱 내에서 반복되는 컴포넌트(내비게이션바, 바텀시트, 알림 창, 토 mini-min-dev.tistory.com 1️⃣ HIG 살펴보기 : 팝업창(Alerts)이란? 보통 팝업창으로 알고 있는 알림창을 iOS 공식문서에서는 정확하게 Alerts라고 부른다. Alerts는 사용자에게 "중요한 문제를 알리는 용도"로 사용한다. 여기서 말하는 "중요한 문제"란 해당 작업으로 데이터가 파괴될 수 있는 경우, 새롭게 시작하는 혹은 앱 안에서 발생한 어떤 중요한 작업에 대해 사용자에게 알리기 위한..
2024.02.24 -
[UIKit] 재사용 Component 개발하기 (1) - Toast Message
💡 재사용 Component 개발하기 시리즈 글을 시작하며 이번 33기 앱잼이었던 프로젝트에서 우리 iOS 팀이 추구한 방향 중 하나는, 앱 내에서 반복되는 컴포넌트(내비게이션바, 바텀시트, 알림 창, 토스트 메시지 등)를 재사용할 수 있도록 만드는 것이었다. 공통으로 반복되는 부분과, 변화가 필요한 부분을 고민해서 모듈화 시킨 과정을 이번 시리즈에서 같이 느껴볼 수 있길 바란다. 1️⃣ Toast Message란? 토스트 메시지(Toast Message)는 원래 안드로이드에만 존재하는 컴포넌트이다. 보통 앱 사용 중, 사용자와의 상호작용은 계속 열어둔 상황에서 동시에 짧은 메시지를 사용자에게 보여주기 위해 사용하는 컴포넌트다. 사용자의 인터랙션이 별도로 없어도 특정한 시간 뒤에 표출, 사라짐 동작이 자..
2024.02.16 -
[UICollectionView] Drag & Drop cell 위치 변경, Delegate로 구현하기
1️⃣ 이번 글에서 구현하고자 하는 기능은?이번 글에서 구현할 기능은 예전에도 한번 구현해 본 경험이 있던 컬렉션 뷰에서 특정 Cell을 꾹 눌러 드래그할 때, Cell의 순서를 바꿀 수 있는 Drag & Drop 기능이다.사실 이 내용은 예전에도 한번 구현해본적이 있다.당시에는 테이블 뷰의 "편집 모드"에 한정되는 기능 지원으로 인해 UILongPressGestureRecognizer부터 시작해 Snapshot을 찍고, 상태를 저장하고 머시기.... 어렵게 구현했었다.하지만, 2년이 지난 지금.그때는 없던 UICollectionViewDragDelegate, UICollectionViewDropDelegate라는 좋은 방식을 찾을 수 있었고, Apple 공식문서에서도 Supporting Drag and..
2024.02.01 -
[UIScrollView] 상단 커스텀 탭바를 만들어봅시다! (3) - 특정 위치 자동 스크롤 기능 추가
0️⃣ 이번 리팩토링의 목적! 어쩌다 보니 커스텀 탭바를 구현하면서 공부한 내용이 시리즈 형식으로 쓰이게 되었는데, 어느덧 세 번째 글을 쓸 차례이다. 사실 두 번째 글에서부터 이어진 내용이긴 한데, 이번 리팩토링은 각각의 뷰들이 커스텀 탭바의 각 탭들을 클릭했을 때 개별적으로 표출되도록 구현했던 화면을, 하나의 스크롤 뷰 위에 모두 포함시키고 그에 따른 커스텀 탭바의 자연스러운 액션 (스크롤 위치에 따라 탭바가 움직이는 기능 + 각 탭을 클릭했을 때 자동으로 해당 위치까지 스크롤되는 기능)까지 주도록 변경하는 것이 목적이었다. 이 리팩토링을 위해 앞에서 StickyHeader도 적용을 시켰던 것이었기에, 이번 글에서는 추가적으로 남은 탭바의 자연스러운 액션을 구현하도록 한 부분에 대한 설명을 이어서 써..
2023.12.12 -
[UIScrollView] 상단 커스텀 탭바를 만들어봅시다! (2) - StickyHeader 기능 추가
1️⃣ 오늘 구현할 기능, StickyHeader란 무엇일까? [UISegmentedControl] 상단 커스텀 탭바를 만들어봅시다! (1) - UISegmentedControl 활용1️⃣ 오늘 만들어줄 화면은? 합동 세미나 과제로 테이블링 어플을 클론코딩하면서 만들었던 상단 커스텀 탭바의 내용을 정리해보겠다. 여러 글들을 찾아봤을 때, 상단 커스텀 탭바를 만들어주mini-min-dev.tistory.com오늘 글은 지난번 커스텀 탭바를 만들었던 내용에 이어서, 추가적으로 Sticky Header 기능을 구현해 준 내용으로 써보겠다.(커스텀 탭바 기능에 대한 설명은 위에 첨부해놓은 지난 글로 넘어가서 읽고 오길 바란다.)StickyHeader라는 말이 잘 와닿지 않아서 그렇지, 쉽게 설명하면 스크롤을 했..
2023.12.07