일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- scene delegate
- claen architecture
- domain data
- identifiable
- coordinator
- 버튼 피드백
- traits
- custom ui
- swift dashed line
- task cancellation
- RxSwift
- swift 점선
- UIKit
- swift 백준
- swift concurrency
- button configuration
- swift navigationcontroller
- 타임라인 포맷팅
- BFS
- swift custom ui
- swift bottomsheet
- custombottomsheet
- SWIFT
- DP
- task cancel
- custom navigation bar
- reactorkit
- uikit toast
- Tuist
- rxdatasources
- Today
- Total
목록전체 글 (85)
김경록의 앱 개발 여정

앱에서 사용자에게 간단한 알림을 제공할 때 흔히 사용하는 토스트메시지를 구현해 보았습니다.이번 포스팅에서는 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을 만드는 방법을 정리해 보겠습니다.🧱 기본 버튼 스..

https://www.acmicpc.net/problem/2212 풀이 아이디어위 예제 입력을 예시로 설명 1. 오름차순으로 정렬 ( 1 3 6 6 7 9 )2. 앞자리랑 차이나는 거리 계산(gaps) -> ( 2 3 0 1 2) 3. 거리 차이를 최소로 만들어야 하고, 우리는 그걸 k개의 집중국 수 (그룹) 만큼으로 나눌 수 있다.센서를 K개의 그룹으로 나누기 위해선센서 사이를 K - 1번 끊어야 함왜냐면,6개의 센서를 2그룹으로 나누려면 → 1번 끊어야 하고6개를 3그룹으로 나누려면 → 2번 끊어야 하니까. 4. 고로 내림차순으로 정렬된 거리 배열에서 k-1 만큼 뗴어내고 나머지를 합쳐주면 됨 풀이let n = Int(readLine()!)!let k = Int(readLine()!)!var i..