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

📘 Path벡터 그래픽 기반 2D 도형을 정의하는 구조체직접 좌표를 찍고 연결해서 원하는 도형을 만들 수 있음🔹 기본 정의struct Path { var elements: [Path.Element] // 선, 곡선, 이동 등으로 이루어진 요소}🔹 명령어 🔍 시작 / 닫기함수설명 move(to: CGPoint) 경로의 시작점을 지정 (펜을 들어서 새 좌표로 이동) closeSubpath() 현재 경로를 닫음 (마지막 점 -> 시작점 자동 연결) 🔍 직선함수설명 addLine(to: CGPoint) 현재 위치에서 지정한 점까지 직선 추가addLines(_ points: [CGPoint]) 현재 위치에서 여러 점들을 차례로 직선으로 연결 addRect(CGRect) 사각형 추가 addRects([CG..

📘 이미지(사진) 권한 설정iOS에서는 앱에 사진 창 또는 카메라를 사용하려고 할 때 권한 창을 통해 사용자의 동의를 얻어야만 한다권한 창을 띄우고 사용하는 방법에 대해 알아보려 한다 🔹 Info.plist에 권한 문구 추가 / Info 설정 창에서 권한 추가➡️ Info.plist에 사용될 키키 이름설명NSPhotoLibraryUsageDescription포토 라이브러리 읽기 / 저장 권한 요청 시 표시NSCameraUsageDescription카메라 사용 시 표시NSPhotoLibraryAddUsageDescription사진 라이브러리에 저장만 하는 경우 ➡️ Info 설정 창Info.plist가 아닌 Targets > Info 창에서 권한을 추가하는 방법🔹 권한 요청 및 상태 확인Photos ..

📘 matchedGeometryEffect두 개 이상의 뷰를 같은 것으로 인식시켜서 레이아웃이 바뀔 떄 자연스럽게 이어지는 애니메이션을 만들어주는 도구히어로 애니메이션 (Hero Animation) 이라고 불림 🔹개념SwiftUI는 상태 변경 시 View를 새로 다시 그림-> 일반적으로는 기본 뷰가 사라지고, 새로운 뷰가 나타나는 전환이 일어남matchedGeometryEffect(id:in:)을 사용하면, 두 뷰를 같은 ID로 묶어서 SwiftUI가 "같은 요소"라고 인식SwiftUI는 위치, 크기, 모양, 클리핑, 코너 반경 등을 자동으로 보간해줌🔹문법.matchedGeometryEffect(id: "sharedID", id: namespace)id: 같은 그룹 안에서 고유하게 뷰를 매칭시킬 식..
📌 Ambiguous use of toolbar 📌보통 SwiftUI의 .toolbar 수정자 (오버로드가 여러 개)와 내 코드/ 프레임워크의 이름 충돌 또는 모호한 클로저 형태 때문에 생김 ✅ 옳은 toolbar 사용 방법.toolbar {... } 안에 무엇을 넣는지에 따라 여러 오버로드가 매칭될 수 있음항상 배치와 래퍼 타입을 명시하는 것이 필요 ➡️ 단일 버튼일 경우NavigationStack { Text("test") .toolbar { ToolbarItem(placement: .navigationBarTrailing) { Button("Save") {...} } }} ➡️ 여러 버튼일 경우.toolbar { Toolbar..

페이지를 넘길 때 종이가 말려서 넘어가는 듯한 느낌을 주고 싶을 때 사용하는 기능에 대해 알아보자책을 넘기는 듯한 Page Curl은 SwiftUI에서는 기본 기능이 없어 UIPageViewController를 래핑해 사용함 📘UIPageViewControllerUIKit의 컨테이너 뷰 컨트롤러여러 페이지를 관리하고 스와이프 제스처나 애니메이션을 통해 페이지 간 전환을 제공⚠️ Page Curl은 iPhone에서 제약이 존재(스택 구조 / 회전 등), 최신 iOS UI 가이드에선 스크롤형을 더 권장🔹 생성 방법let pageVC = UIPageViewController( transitionStyle: .scroll, navigationOrientation: .horizontal, optio..
📘 .DS_Store맥을 사용하다보면 흔히 보이는 숨김 파일로Git 같은 버전 관리 시스템을 쓸 때 자주 문제 되는 부분 🔹 DS_Store 란?Desktop Services Store의 줄임말macOS Finder(파인더)가 폴더별 보기 옵션과 메타데이터를 저장하는 파일각 폴더마다 자동으로 생성됨숨김 파일이지만, Git이나 압축해서 공유할 때 다른 사람에게 보일 수 있음🔹 DS_Store에 포함되는 정보아이콘 위치 (폴더 안에서 아이콘을 마음대로 배치했을 때)썸네일 / 미리보기 캐시폴더 뷰 모드 (리스트 / 아이콘 / 걸러리 등)컬럼 정렬 방식 (이름순, 날짜순, 크기순 등) 📌 즉, 시스템이 쓰는 파일이기에 앱/코드 실행에는 아무 영향이 없음 📌 🔹 개발할 때 문제가 되는 이유폴더를 열기만..

📘 Transition뷰의 존재 유무의 변화를 애니메이션뷰를 이동할 때의 개념보다는 뷰를 보여지게 하거나 사라지게 하는 애니메이션의 개념.transition(_:)으로 선언하여 사용 가능들어가는 인수는 AnyTransition트랜지션이 실행되려면 상태 변경을 애니메이션으로 감싸야 함withAnimation { ... } 또는 .animation🔍 AnyTransition.opacity페이드 인 / 아웃.scale확대 / 축소로 등장 / 퇴장.move(edge: .top/.bottom/.leading/.trailing)가장자리에서 슬라이드.slide부모의 leading -> trailing로 슬라이드 (언어 방향성 영향).identity트랜지션 없음 (디버그, 조건부 조합에 사용)🔹결합 및 비대칭 기..