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

📘 Toast사용자가 앱을 조작할 때 화면 하단에 잠깐 표시되는 알림 메시지 🔹 기본 Toast 생성 방법➡️ toast struct toast 메시지를 보여줄 기본 틀struct Toast: Equatable { var message: String //보여줄 메시지 var duration: Double = 1.5 // 보여질 시간 var width: Double = 300 // toast 가로 크기} ➡️ toastViewtoast를 화면에 어떻게 보여줄 지 보여주는 뷰struct ToastView: View { var message: String var width = CGFlat(200) var onCancelTapped: (() -> Void) var b..
📘 SwiftUI - View Life CycleSwiftUI의 View는 선언형(Declarative) 방식이기 때문에 UIKit과는 전혀 다른 생명주기를 가지고 있음SwiftUI는 상태(State)나 환경(Environment)의 변화에 따라 뷰를 다시 생성하고 그리기 때문에UIKit처럼 언제 뷰가 생성되고 사라지는가보다는 상태 변화에 따라 어떤 동작을 해야 하는가에 초점이 맞춰져 있음 🔹SwiftUI View Lifecycle 핵심 개념개념설명상태 기반@State, @Binding, @ObservedObject 등이 바뀌면 뷰가 재계산(re-render)됨구조체 뷰SwiftUI의 View는 구조체라서 상태 변경 시마다 새로운 뷰가 생성되는 것처럼 보임시스템 주도뷰 생성 / 파괴 시점을 직접 제어..
UIKit에서는 프로젝트가 만들어지면 AppDelegate와 SceneDelegate가 생성되듯이https://programming-seonghye.tistory.com/57 UIKit) AppDelegate & SceneDelegate 알아보기UIKit을 사용하기 위해 프로젝트를 만들게 되면만들어져있는 기능들에 대해 알아보려 한다📘 AppDelegateiOS 앱의 생명 주기(lifeCycle)와 시스템 이벤트를 관리하는 핵심 클래스앱이 실행될 때부터 종programming-seonghye.tistory.com SwiftUI에서 생성되는 App에 대해 알아보자📘App ProtocoliOS 14부터 도입된 앱 생명주기를 선언적으로 정의하는 새로운 진입점(entry point)@main과 함께 사용되어 ..

📘 SwiftUI - 화면 맨 위로 올라오기어플을 사용하다보면 스크롤 하다가 버튼을 눌러 화면의 맨 위로 올라오도록 하는 경우를 볼 수 있다해당 경우를 어떻게 구현했는지 정리해보려 한다. 🔹 기본 개념- ScrollViewReader: 뷰에 스크롤 위치 조작 기능을 부여할 수 있음 - .id( id 값 ) : 스크롤 목표 위치에 식별자를 붙임- .scrollTo( id 값 ) : 해당 위치로 스크롤 이동이 가능함🔹List에 버튼을 통해 위로 올리기struct ContentView: View { @State private var showButton = false let items = Array(1...100) var body: some View { ScrollviewR..

📘 Swift) Picker & DatePicker사용자의 선택을 입력받는 기본적인 선택 UI 컴포넌트 🔹Picker (일반 선택 목록 - 드롭다운, 휠 등)사용자가 리스트 중 하나를 선택할 수 있도록 함import struct ContentView: View { @State private var selectedMedia = "드라마" let medias = ["드라마", "영화", "애니메이션", "TV쇼"] var body: some View { Picker("미디어 선택", selection: $seletedMedia) { // 반복문을 사용하는 경우 ForEach(medias, id: \.self) { media in T..
📘 SwiftUI - 하단 RefreshScrollView나 list를 다루다보니 앱의 마지막에 도착했을 때 refresh를 추가하고 싶어지는 경우가 있었다이 때 해결방안을 정리해두려 한다.🔹하단 갱신 방법 ✅ ScrollView에서 하단 감지 후 refresh 구현ScrollView { LazyVStack { ForEach(.., id: \.self) { item in .. } if isLoading { ProgressView() .padding() } else { GeometryReader { geometry in Color.clear ..

UIKit 에서는 COllectionView를 활용그렇다면 SwiftUI에서는 어떻게 할 수 있을까?📘 LazyVGrid & LazyHGridUICollectionView처럼 그리드 형태의 레이아웃을 수직(V) - 수평(H) 방향으로 스크롤 할 수 있게 해주는 컴포넌트 게으른(Lazy) 방식으로 화면에 보이는 셀만 그려서 성능을 높이는 방식 🔹 기본 코드✅ 세로 2열 컬렉션 뷰let columns = [GridItem(.flexible()), GridItem(.flexible())] //2열ScrollView { LazyVGrid(columns: columns, spacing: 15) { ForEach(0.. ✅ 가로 2열 컬렉션 뷰let rows = [GridItem(.fixed(100)),..
고차함수에 대해 공부하고 사용하다가 보니for문을 사용해도 되는 걸 고차함수로 사용하는 게 이득인가? 라는 생각을 하게 되었다.https://programming-seonghye.tistory.com/25 Swift)문법 정리 - 고차함수📘 Swift 문법 정리: 고차함수Swift 문법 중 고차함수에 대해 정리한 글입니다. 🔹 1. 문법 설명Swift에서 매우 핵심적인 개념으로 컬렉션 처리 (Array, Set, Dictionary) 에 자주 사용됩니다.다른 함수를programming-seonghye.tistory.com 그런 이유로 한 번 알아보자.📘 고차함수 사용이 메모리 측면에서 이득인가?🔹 결론 먼저 요약Swift에서 고차함수(map, filter, reduce 등)는 가독성과 표현력은 ..