일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- uiscrollview
- swiftUI
- ios
- rxswift
- collectionview
- RxCocoa
- Protocol
- 클린 코드
- tableView
- Refactoring
- ribs
- 리펙터링
- combine
- UICollectionView
- UITextView
- SWIFT
- 애니메이션
- Xcode
- clean architecture
- Observable
- swift documentation
- 리펙토링
- Clean Code
- Human interface guide
- MVVM
- 리팩토링
- map
- uitableview
- 스위프트
- HIG
- Today
- Total
목록분류 전체보기 (1644)
김종권의 iOS 앱 개발 알아가기

파라미터에 타입을 받고 싶은 경우? 함수 파라미터로 instance로 받는 예제 printType(of: "123") // 123 func printType(of instance: T) { print(instance) } 함수 파라미터로 type을 받고 싶은 경우 - metatype사용 type(of:): 파라미터는 인스턴스이고, 반환값은 타입 T.Type: 인스턴스가 아닌 타입 printType(of: type(of: "123")) // String func printType(of instance: T.Type) { print(instance) } Metatype이 있어야 하는 이유: 함수 내에서 타입을 파라미터로 받아서 캐스팅이 필요한 경우, switch로 타입값을 구분해야하는 경우 Metatype ..
핵심 타입 AVCaptureSession AVCaptureDevice AVCaptureDeviceInput, AVCapturePhotoOutput AVCaptureVideoPreviewLayer AVCaptureSession 개념: 세션이란 입력에서 출력 장치로의 데이터 흐름을 제어하는데 사용 해상도 설정: captureSession.sessionPreset captureSession = AVCaptureSession() captureSession.sessionPreset = .photo // set resoultion AVCaptureDevice 개념: 말 그래로 "capture"하는 물리적인 device를 참조하는 데이터형 guard let backCamera = AVCaptureDevice.defa..
URL에 parameter 삽입 (query string) "https://domainABC" 를 "https://domainABC?memberID=1234"로 변경 let url = "https://domainABC" var components = URLComponents(string: url) let id = URLQueryItem(name: "memberID", value: "1234") components?.queryItems = [id] guard let newURL = components?.url else { return } print(newURL) // Optional(https://domainABC?memberID=1234) URL의 parameter 파싱 (query string) "ht..

Lottie 란 Json 기반의 Adobe After Effects 에니메이션 구문을 분석하여 화면에 에니메이션을 렌더링해주는 프레임워크 플랫폼이 달라도 iOS, Android, Web 공통사용 가능 사용방법 종속성 pod 'lottie-ios' resource 무료 제공 사이트: lottiefiles.com/recent LottieFiles - Free animation files built for Lottie LottieFiles is a collection of animations designed for Lottie - gone are the days of bugging your developer lottiefiles.com .json 파일을 받은 후 프로젝트에 추가 아래와 같이 사용 가능 impo..
Loading 시 화면전체에 interaction을 방지 // Interaction 방지 UIApplication.shared.beginIgnoringInteractionEvents() // Interaction 다시 허용 UIApplication.shared.endIgnoringInteractionEvents()

* 구체적인 개념과 사용 방법은 아래 포스팅 글 참고 1. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (개념, UIPenGestureRecognizer) 2. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (Modal) 3. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (Hero Extension, hero.id를 이용한 애니메이션) 4. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (셀 이동, 뷰 이동 애니메이션 예제) Hero 프레임워크 화면전환 프레임워크: github.com/HeroTransitions/Hero HeroTransitions/Hero Elegant tran..

UIWindow 란? View 들을 담는 컨테이너 사용자 인터페이스에 배경을 제공하며 이벤트 처리 행동을 제공하는 객체 시각적인 화면을 가지고 있지 않고 기능적인 면을 담당(상호작용 처리, fkdnxldx z축 레벨 설정, 좌표계 변환) 자동으로 Xcode가 앱의 기본 Window를 제공 - 최초 iOS프로젝트에는 Storyboard를 사용하여 앱의 View들을 정의 - storyboard는 Xcode에서 자동으로 제공하는 AppDelegate(또는 SceneDelegate)에 window속성이 존재해야가능 * 주의할점: UIWindow는 UIView의 subclass 스토리보드가 아닌 코드로 View를 구성할 때 - Window rootViewController 수정이 필요 window가 가리키는 스토..

Present, dismiss와 같은 Transition의 동작 Animator objects: ViewController의 View를 표시하거나 숨기는 데 사용되는 애니메이션을 만드는 역할 - UIViewControllerAnimatedTransitioning 프로토콜을 따름 Interactive animator objects: touch events, gesture recognizer를 사용하여 사용자 정의 애니메이션의 타이밍을 구독 - UIViewControllerInteractiveTransitioning 프로토콜을 따름 Presentation controller: ViewController가 화면에 있는 동안 Presentation Style을 관리 Transitioning Context Obj..