-
Library] Lottie 로 json 애니메이션 넣기Programming/iOS 2020. 3. 15. 22:32
Lottie 는 json 애니메이션 파일을 여러 플랫폼으로(iOS, Android, Web etc) 제공해 준다.
LottieFiles 에서 무료 json 파일을 검색해서 사용할 수 있다.
https://github.com/airbnb/lottie
airbnb/lottie
Lottie documentation for http://airbnb.io/lottie. Contribute to airbnb/lottie development by creating an account on GitHub.
github.com
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
import UIKit import Lottie class ViewController: UIViewController { let animationView = AnimationView() lazy var likeButton: UIButton = { let btn = UIButton() btn.setTitle("좋아요", for: .normal) btn.backgroundColor = .gray btn.addTarget(self, action: #selector(touchedLikeButton), for: .touchUpInside) btn.translatesAutoresizingMaskIntoConstraints = false return btn }() override func viewDidLoad() { super.viewDidLoad() setupView() } private func setupView(){ view.addSubview(likeButton) likeButton.centerYAnchor.constraint(equalTo: self.view.centerYAnchor).isActive = true likeButton.centerXAnchor.constraint(equalTo: self.view.centerXAnchor).isActive = true } @objc func touchedLikeButton(){ setupAnimation() animationView.play { finished in self.animationView.removeFromSuperview() } } private func setupAnimation(){ animationView.animation = Animation.named("1835-like") animationView.frame = CGRect(x: view.bounds.origin.x, y: view.bounds.origin.y, width: view.bounds.width/2, height: view.bounds.height/2) //view.bounds animationView.center = CGPoint(x: likeButton.center.x, y: likeButton.frame.origin.y - likeButton.frame.height) animationView.backgroundColor = .clear animationView.contentMode = .scaleAspectFit animationView.loopMode = .playOnce view.addSubview(animationView) } }
Lottie 애니메이션 예제 'Programming > iOS' 카테고리의 다른 글
TodayExtension widget 에서 스토리보드 삭제 (0) 2020.03.29 Realm] 참고 자료 (0) 2020.03.18 AutoLayout] 우선순위 설정 1 (0) 2020.03.12 SnapKit 으로 UI 만들기 (0) 2020.03.11 iOS] ChainAnimation (0) 2020.03.07