728x90
앱 설명
- Lottie를 이용해서 아이콘을 눌렀을 때 움직임을 만들었습니다.
- light , dark 모드 둘다 구현해봤습니다.
문법
- Lottie : Lottie는 JSON 형식의 파일을 벡터 기반 애니메이션으로 실시간 렌더링하는 모바일 라이브러리. Lottie를 사용해서 애니메이션의 재생, 크기 조정, 루프 적용, 속도 향상, 속도 감소, 역회전 및 대화형 스크러빙 하는 것이 가능하고, 애니메이션의 일부만 재생하거나, 반복할 수 있고 또한 Lottie는 UIView 컨트롤러 전환을 지원
- Identifiable : 객체 안에 id를 지정해주어 사용할 때 정확히 불러올 수 있게해줌
- AnimationView : Lottie가 제공해주는 다른 에니메이션의 변형을 나타냄
- enum : 연관된 값들의 집합을 공통된 타입으로 정의. 열거형 , 하나의 자료형을 만들어줌
- case : enum에서 사용되고 모두 독립적인 값이지만 내부에 또다른 값을 저장 모든 케이스가 동일한 형식을 사용 케이스당 값을 하나밖에 저장할 수 없음
- CaseIterable : allCases 라는 타입 속성을 얻는다. 연관 값을 가지지 않거나, @available 속성을 가진 case가 없는 열거형이어야만 CaseIterable을 사용할 수 있습니다
import SwiftUI
// Mark: Tab Model
enum Tab: String,CaseIterable{
case home = "Home"
case chat = "Chat"
case notifications = "Notification"
case saved = "Saved"
case account = "Account"
}
import SwiftUI
import Lottie
// Mark: Animated Icons Model
struct AnimatedIcon: Identifiable{
var id: String = UUID().uuidString
var tabIcon: Tab // Model파일안에서 만들어준 Tab
var lottieView: AnimationView
}
728x90
'SwiftUI > 개발' 카테고리의 다른 글
React Native Interpolation (0) | 2023.01.09 |
---|---|
CustomRegistration (0) | 2023.01.08 |
배달의 민족 - 로그인 페이지 (0) | 2023.01.03 |
BlogApp (0) | 2023.01.03 |
[SwiftUi] 360도 회전 애니메이션 (0) | 2023.01.03 |