일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Clean Code
- swift documentation
- SWIFT
- Human interface guide
- Xcode
- map
- ios
- swiftUI
- ribs
- Observable
- RxCocoa
- 리팩토링
- 애니메이션
- 리펙터링
- collectionview
- uiscrollview
- 리펙토링
- UICollectionView
- clean architecture
- 스위프트
- tableView
- UITextView
- HIG
- Protocol
- uitableview
- Refactoring
- rxswift
- combine
- MVVM
- 클린 코드
- Today
- Total
목록CAKeyframeAnimation (3)
김종권의 iOS 앱 개발 알아가기
Pulse 애니메이션 구현 아이디어 CABasicAnimation와 CAKeyframeAnimation 사용 크기를 키우는 애니메이션은 단순히 시간에 따라 일정한 방향으로 키우면 되므로 CABasicAnimation사용(keyPath: transform.scale.xy) 투명도가 밝아졌다가 다시 투명해져야 하므로, 값이 프레임에 따라 다르게 적용되어야하는 CAKeyframeAnimation사용 (keyPath: opacity) 위 애니메이션이 동시에 적용되어야 하므로, CAAnimationGroup을 사용 애니메이션 구현 클래스 준비 import UIKit class ViewController: UIViewController { } 뷰 준비 private let sampleView: UIView = { ..
사전 지식 1) CAGradientLayer gradation을 주어서 뷰의 테두리까지 발산되게 해야하므로, conic gradation을 사용 gradation의 종류(axial, radial, conic) 포스팅 글 참고 사전 지식 2) UIBezierPath, CAShapeLayer UIBezierPath는 선을 그리는 역할 CAShapeLayer에 UIBezierPath 인스턴스를 주입하고, CAShapeLayer에서 선에대한 속성을 부여 뷰가 있을 때 뷰의 테두리만 접근하여 테두리에만 특정 애니메이션을 적용시키고 싶은 경우, CAShapeLayer 인스턴스를 통해 테두리만에만 접근가능 테두리만 접근하여, 테두리의 width값이나 색상 값등을 추가가 가능 보통 CALayer 인스턴스의 mask 프..
CAKeyframeAnimation keyPath 프로퍼티를 사용하여 애니메이션 결정 key frame 애니메이션은 여러 값을 설정하고 지정한 시간 동안 값 사이에 애니메이션을 제공할 수 있는 기능 CAKeyframeAnimation 사용 방법 keyPath에 값 대입 (어떤 애니메이션인지) values 배열 값에 해당 keyPath에서 사용하려는 값 기입 keyTimes: 0~1에 해당하는 값을 위 values.count 개수만큼 지정 duration: 전체 지속 시간 isAdditive: 현재 위치를 기준으로 애니메이션을 사용할 것인지 @objc private func didTapAnimationButton() { let animation = CAKeyframeAnimation() animation...