일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- SWIFT
- custom navigation bar
- claen architecture
- button configuration
- task cancellation
- Tuist
- RxSwift
- 버튼 피드백
- reactorkit
- coordinator
- 타임라인 포맷팅
- task cancel
- BFS
- swift dashed line
- scene delegate
- swift custom ui
- swift 점선
- swift concurrency
- uikit toast
- traits
- DP
- custom ui
- UIKit
- swift 백준
- swift navigationcontroller
- identifiable
- swift bottomsheet
- domain data
- custombottomsheet
- rxdatasources
- Today
- Total
목록2025/04/16 (2)
김경록의 앱 개발 여정

앱에서 사용자에게 간단한 알림을 제공할 때 흔히 사용하는 토스트메시지를 구현해 보았습니다.이번 포스팅에서는 iOS에서 토스트 메시지를 어떻게 구현했는지,그리고 이를 앱 전반에서 안전하고 일관되게 사용하기 위해 어떤 설계 원칙을 적용했는지에 대한 경험을 적어보겠습니다. 🍞 토스트 메시지 구현토스트 메시지는 화면 하단(혹은 지정한 위치)에 잠깐 나타났다가 사라지는 UI 컴포넌트입니다.저는 아래와 같이 토스트 메시지를 구현했습니다.import UIKitimport SnapKitfinal class ToastManager { static let shared = ToastManager() private var isShowingToast = false private init() {}..

이번에 다룰 커스텀 UI는 위와 같은 스타일입니다.단순한 버튼처럼 보이지만, 자세히 보면 테두리가 점선으로 되어 있는 걸 알 수 있습니다.UIKit에서 기본 제공하는 borderStyle 옵션은 다음과 같습니다:.none.line.bezel.roundedRect하지만 이 중 어떤 것도 점선 테두리는 지원하지 않죠.(제가 모르는걸 수도..?ㅎㅎ..)물론 UIView를 하나 덧씌워서 해결할 수 있을까도 고민했지만,문제는 단순한 overlay가 아니라 ‘점선’ 그 자체였습니다.결국 선택지는 하나.CAShapeLayer와 UIBezierPath를 이용해 직접 그리는 방식으로 가야 했습니다.이번 포스팅에서는 실전 예제와 함께,점선 테두리를 가진 UIButton을 만드는 방법을 정리해 보겠습니다.🧱 기본 버튼 스..