일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RxCocoa
- UITextView
- Observable
- 리펙토링
- swiftUI
- MVVM
- 스위프트
- UICollectionView
- HIG
- ios
- map
- combine
- rxswift
- 클린 코드
- tableView
- uiscrollview
- Clean Code
- swift documentation
- Protocol
- collectionview
- Refactoring
- SWIFT
- clean architecture
- uitableview
- 리펙터링
- 리팩토링
- ribs
- 애니메이션
- Human interface guide
- Xcode
- Today
- Total
목록애니메이션 (18)
김종권의 iOS 앱 개발 알아가기
CABasicAnimation layer에 관련된 싱글-키프레임 애니메이션 모든 뷰들이 가지고 있는 CALayer에 애니메이션을 줄 수 있는 방법이며, 뷰를 이동시키거나, 흐리게하거나 등의 다양한 기능 구현 가능 opacity colors locations fillColor strokeEnd rotation 기타 모든 종류의 키들을 extension으로 구현해놓은 아래 링크 참고 https://stackoverflow.com/questions/13913101/cabasicanimation-keys cf) CAKeyFrameAnimation도 위 종류들을 모두 사용할 수 있고, 레이어의 여러 프레임에 대한 작업에 사용되고 CABasicAnimation은 단일 키프레임에 대한 애니메이션 기능을 제공 사용 방..
1. UIViewPropertyAnimator, AnimationStates - 개념 2. UIViewPropertyAnimator, AnimationStates - fractionComplete, interactive animation (상호작용 애니메이션) UIViewPropertyAnimator UIView.animate와 다르게 시작, 종료, 일시중지, 정지, 완료가 가능 애니메이션 진행률과 같은 현재 상태에 대한 값도 알 수 있는 장점이 존재 iOS 10+ "프로퍼티 애니메이터"로 이름이 지어진 이유: 시작, 중지, 종료등을 컨트롤 할 수 있는 애니메이션 상태를 갖고 있기 때문 애니메이션 상태 새로 생성된 인스턴스는 inactive상태에서 시작 애니메이션을 마친 인스턴스도 inactive 상태로..
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..
isHighlighted 버튼을 눌렀을 때, isHighlighted = true로 변경되었다가, isHighlighted = false로 다시 변경 * isHighlighted 상태 확인 방법 - UIButton의 isHighlighted 프로퍼티를 override하여 didSet으로 확인 public protocol AnimationButtonDelegate: AnyObject { func didChangeHighlighted(highlighted: Bool) } class AnimationButton: UIButton { weak var delegate: AnimationButtonDelegate? override var isHighlighted: Bool { didSet { self.delegat..
CAKeyframeAnimation keyPath 프로퍼티를 사용하여 애니메이션 결정 key frame 애니메이션은 여러 값을 설정하고 지정한 시간 동안 값 사이에 애니메이션을 제공할 수 있는 기능 CAKeyframeAnimation 사용 방법 keyPath에 값 대입 (어떤 애니메이션인지) values 배열 값에 해당 keyPath에서 사용하려는 값 기입 keyTimes: 0~1에 해당하는 값을 위 values.count 개수만큼 지정 duration: 전체 지속 시간 isAdditive: 현재 위치를 기준으로 애니메이션을 사용할 것인지 @objc private func didTapAnimationButton() { let animation = CAKeyframeAnimation() animation...
연속된 애니메이션 구현 방법 UIView.animate를 사용하면 nested 되는 성격이 존재하여 가독성에 좋지 않은 코드로 표출 4개의 연속된 애니메이션을 UIView.animate로 구현 시 아래처럼 nested 되어 가독성에 안좋은 코드로 표출 UIView.animate( withDuration: 3, delay: 0, options: .curveEaseIn, animations: { // first animation }, completion: { _ in UIView.animate( withDuration: 3, delay: 0, options: .curveEaseIn, animations: { // second animation }, completion: { _ in UIView.animate..