일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RxCocoa
- UITextView
- tableView
- ios
- HIG
- MVVM
- 스위프트
- 리펙토링
- ribs
- rxswift
- 리펙터링
- collectionview
- Clean Code
- 애니메이션
- uiscrollview
- 리팩토링
- SWIFT
- Refactoring
- Human interface guide
- swift documentation
- clean architecture
- uitableview
- UICollectionView
- Xcode
- 클린 코드
- combine
- Observable
- Protocol
- swiftUI
- map
- Today
- Total
목록2022/02 (28)
김종권의 iOS 앱 개발 알아가기
1. GraphQL - 개념 2. GraphQL - Apollo 사용 준비 3. GraphQL - Apollo 모델 생성 (generate model) 4. GraphQL - Apollo의 request pipeline, Interceptor, token, header 5. GraphQL - Apollo의 fetch 예제 (Pagination) GraphQL facebook에서 API를 위해 만든 쿼리 언어 Endpoint를 하나로하여 API정의를 단순화 RESTful vs GrphQL RESTful GraphQL * Resource마다 Endpoint가 다 다름 * Endpoint는 오직 한 개 * 클라이언트가 필요한 데이터를 각 Resource 종류별로 요청 (요청 횟수가 느는 단점이 존재) * 필요..
cornerCurve 개념 CALayer에 프로퍼티로 존재하는 cornerCurve 해당 프로피티를 이용하면 조금 더 cornerRadius를 설정했을때 더욱 자연스럽게 표현이 가능 button.layer.cornerRadius = 50 button.layer.cornerCurve = .continuous ex) 회색 버튼이 .continuous 적용 cornerCurve에는 두 가지 속성이 존재 .circular: 원에 가까운 radius 처리 .continuous: 매끄럽고 자연스럽게 처리 (보통 이 속성 사용) * 전체 코드 (편리한 오토레이아웃 작성을 위해 SnapKit 프레임워크 사용) import UIKit import SnapKit class ViewController: UIViewContr..
1. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (개념, UIPenGestureRecognizer) 2. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (modal) 3. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (편한 extension, hero.id를 이용한 애니메이션) 4. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (셀 이동, 뷰 이동 애니메이션 예시) 애니메이션 아이디어 회색 뷰: 첫 번째 뷰와 두 번째 뷰의 hero.id를 같도록 설정 빨간색 cell 애니메이션 설정 cell에는 단순히 hero.modifiers라는 프로퍼티로 애니메이션 설정이 간편하게 가능 c..
1. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (개념, UIPenGestureRecognizer) 2. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (modal) 3. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (Hero extension, hero.id를 이용한 애니메이션) 4. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (셀 이동, 뷰 이동 애니메이션 예제) Hero에서 제공하는 Niavigation 관련 메소드 HeroExtension으로 유용한 메소드들을 제공 사용 방법은 hero.으로 접근하여 사용 import UIKit class VC2: UIViewContr..
1. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (개념, UIPenGestureRecognizer) 2. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (Modal) 3. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (Hero Extension, hero.id를 이용한 애니메이션) 4. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (셀 이동, 뷰 이동 애니메이션 예제) Hero에서 지원하는 애니메이션 내부적으로 extension을 통해 UIViewController, UINavigationController, UITabBarController에 지원 extension UIVie..
1. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (개념, UIPenGestureRecognizer) 2. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (다양한 화면전환 애니메이션) 3. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (Hero Extension, hero.id를 이용한 애니메이션) 4. Hero - UIViewController간의 화면전환 애니메이션 프레임워크 (셀 이동, 뷰 이동 애니메이션 예제) Hero 프레임워크 UIViewController간 트랜지션의 애니메이션을 관리하는 프레임워크 UIViewController를 상속받고 있는 UINavigation, UITabBarControll..
구현 아이디어 아래로 당겨서 dismiss되는 UIViewController를 상속받은 `ViewControllerPannable` 클래스 정의 class ViewControllerPannable: UIViewController {} 내부에서 UIPanGestureRecognizer 제스처 등록 override func viewDidLoad() { super.viewDidLoad() let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(panGestureAction(_:))) self.view.addGestureRecognizer(panGestureRecognizer) } @objc func panGestur..
@autoclosure 함수에 argument가 전달될 때 closure가 자동으로 생성되게끔 하는 키워드 함수의 argument에 closure를 넘길 때, block으로 감싸지 않고 그냥 넘겨도 되게끔하는 키워드 ex) @autoclosure 사용 class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() self.someFunction(print("this is closure")) } func someFunction(_ someArgument: @autoclosure () -> ()) { print("start") someArgument() print("end") } } /* start this ..