일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- protocol
- PushNotification
- segue
- Observer
- 화면전환
- struct
- uikit
- array
- class
- SWIFTUI
- list
- IOS
- apns
- mvvm
- ScrollView
- Git
- 고차함수
- http
- calendar
- 회고
- Refresh
- singleton
- Switch
- self
- error
- escaping
- viewlifecycle
- 글또
- SWIFT
- NotificationCenter
- Today
- Total
목록uikit (17)
seong_hye, the developer

캘린더를 사용하는 과정에서 다른 라이브러리를 사용하지 않고주간 캘린더를 어떻게 구현하면 좋을지 고민하며 공부한 내용을 정리해 보려 합니다. 날짜에 따른 데이터를 받아오는 기능을 만드는 과정에서FSCalendar 라이브러리를 사용했던 것을캘린더를 공부해서 직접 만들어보자 하는 생각이 들게 되었습니다.Calendar 날짜별 장식이 있는 일정관리를 표시하고, 단일 날짜 또는 여러 날짜를 사용자가 선택할 수 있도록 제공하는 기능으로캘린더 뷰를 사용하여 사용자가 커스터마이징한 추가 정보(ex_ 스케줄)가 있는 특정 날짜를 표시할 수 있습니다.또한 캘린더 뷰를 사용하여 하나의 특정 날짜, 여러 날짜 또는 날짜가 없는 날짜를 선택할 수 있습니다.단일 선택 주간 달력 뷰를 구현하기 위해 collectionView를 사..

UIKit 화면을 코드로 만드는 연습을 하던 중 아래와 같은 화면을 만들어 'dice game'이라는 버튼을 누름과 동시에 reason: '+[BasicsApps.ViewController tapDiceGameButton:]: unrecognized selector sent to class위와 같은 오류가 발생하며 화면이 종료되었다.나의 코드는 다음과 같았다.private let diceGameButton: UIButton = { let button = UIButton() button.setTitle("DICE GAME", for: .normal) button.setTitleColor(.black, for: .normal) button.layer.mask..

📘 Calendar 날짜별 장식이 있는 일정관리를 표시하고, 단일 날짜 또는 여러 날짜를 사용자가 선택할 수 있도록 제공하는 기능캘린더 뷰를 사용하여 사용자가 커스터마이징한 추가 정보(ex_ 스케줄)가 있는 특정 날짜 표시또한 캘린더 뷰를 사용하여 하나의 특정 날짜, 여러 날짜 또는 날짜가 없는 날짜를 선택 가능 🔹Calendar란Foundation 프레임워크의 구조체달력 시스템에 따라 날짜를 계산하고 연도/월/일/요일 등 구성 요소 추출 및 연산을 도와줌 ✅ 날짜 더하기 / 빼기let today = Date()let calendar = Calendar.current// 5일 후let fiveDaysLater = calendar.date(byAdding: .day, value: 5, to: toda..
📘Swift 구조적 특징Swift는 안전성, 성능, 현대적 문법을 모두 고려하여 설계된 언어로 다른 언어들과 구별되는 구조적 특징(structural characteristics)이 아주 뚜렷함 🔹정적 타입(Static Typing) 기반 언어변수의 타입이 컴파일 시점에 결정됨타입 추론도 가능하지만 실제로는 정적 타입 시스템let a: Int = 3 // type: Intlet one = 1 // type: Intlet a = "A" // type: Stringlet b: Character = "B" // type: Character ➡️ 장점컴파일 시 오류를 빨리 찾을 수 있음성능 최적화에 유리🔹값 타입(Value Type) 중심 구조struct, enum 등 값 타입(value ..

📘UISearchControllerUIKit에서 공식적으로 제공하는 검색 UI 컨트롤러검색 바 (SearhBar) + 검색 결과 처리 (SearchResultsController)를 결합해주는 역할UITableView나 UICollectionView와 함께 자주 사용됨 🔹핵심 구성 요소구성 요소설명searchBar사용자가 검색어 입력하는 UIsearchResultUpdater입력된 텍스트에 따라 결과 업데이트 searchResultsController검색 결과를 표시할 뷰컨 (옵션, 기본은 현재 뷰)obscuresBackgroundDuringPresentation검색 중 배경 흐림 여부 (보통 false로 설정)definesPresentationContext다른 화면 전환 시 검색 바 상태 유지 여부..

📘 UIActivityViewControlleriOS에서 공유 시트 (Share Sheet)를 띄우기 위한 기본 UIKit 클래스ex. 이미지, 텍스트, URL, 파일 등을 메시지, 메일, 에어드롭, 기타 앱으로 공유하고 싶을 때 사용 🔹기본 예시class ViewController: UIViewController { @IBAction func shareButtonTapped(_ sender: Any) { let textToShare = "공유할 텍스트입니다." let urlToShare = URL(string: "https://sample.com") let activityVC = UIActivityViewController(activityItems: [textToSh..

UICollectionView 속에는 UICollectionViewLayout과 UICollectionViewFlowLayout이 있어사용할 때 헷갈려서 한번 이 둘의 차이에 대해 한 번 정리해보려고 한다.📘 UICollectionViewLayout - 추상 클래스 (설계도)모든 레이아웃의 기반이 되는 추상 클래스직접 사용하는 경우는 드물고, 서브클래싱해서 커스텀 레이아웃을 만들 때 사용함이 클래스를 상속해서 자신만의 layout behavior를 정의할 수 있음 🔍 주요 역할- 셀의 위치 및 크기 계산 (layoutAttributesForElements)- 콘텐츠 사이즈 제공 (collectionViewContentSize)- 레이아웃 무효화 처리 (shouldInvalidateLayout .....
📘UIKit - View Life Cycle (뷰 생명주기)UIKit에서의 View Life Cycle은 UIViewController가 화면에 나타나고 사라질 때어떤 메서드 순서로 호출되는 지를 의미한다. 🔹 전체 흐름🔍일반적인 호출 순서 (화면이 나타날 때)init() // 생성자 (코드에서 직접 호출 시)|loadView() // 뷰 계층을 생성 (직접 구현 가능)|viewDidLoad() // 뷰가 메모리에 로드도니 직후 (1회만 호출)|viewWillAppear() // 뷰가 나타나기 직전 (매번 호출)|viewDidAppear() // 뷰가 화면에 나타난 직후 (매번 호출) 🔍 화면이 사라질 때viewWillDisappear() // 뷰가 사라지기 직전|viewDidDis..