분류 전체보기
-
LottieLibrary 2022. 4. 12. 19:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Lottie라는 라이브러리를 알아보려합니다🧐 애니메이션은 항상 어려운데... 정말 어려운데🙃 기본적으로 애플에서 제공해주는 API들로만 하기에는 제 머리가 안따라가고 감각도 없고😭 그럴때 많이 사용하는게 Lottie라는 라이브러리더라구요! 그래서 오늘 한번 요 Lottie를 간단히 해보려합니다ㅎㅎ Lottie? Lottie는 airbnb에서 만든것 같아요! 우선 해당 라이브러리의 리드미 설명을 보겠습니다. 기본적으로 벡터 기반 애니메이션과 아트를 최소한의 코드로 실시간 렌더링해주는 iOS/Android에서 모두 지원 가능한 모바일용 라이브러리입니다. Bodymovin JSON 형식으로 내보내진 애니메이션과 벡터를 로드해 렌더링해준다고 해요🤔 Bodymovin J..
-
SwiftUI - TabViewSwiftUI 2022. 4. 9. 12:38
안녕하세요. 그린입니다🟢 이번 포스팅에서는 SwiftUI 내에서 기본 애플에서 제공하는 TabView에 대해 알아보겠습니다🙌 주로 앱을 구성하다보면 하단에 홈 / 설정 등 메뉴로 갈 수 있는 TabBar에 대해 꼭 구성하곤 합니다. 어떻게 보면 없는 앱을 찾기가 더 어려울정도입니다🥲 바로 요런거요! 그래서 이번 포스팅에서 이걸 구성할 수 있는 TabView에 대해 알아보고 구현해볼께요ㅎㅎ TabView? 공식문서를 파해쳐보죠! 탭뷰의 정의는 대화형 사용자 인터페이스 요소를 사용해 여러 하위 뷰 간 전환할 수 있도록 하는 뷰입니다. 즉 다들 흔히 알고 있는 탭바의 항목들을 클릭해 뷰를 전환할 수 있게 해주는것입니다. TabView 선언 struct TabView where SelectionValue : H..
-
CasePathTCA 2022. 4. 6. 09:47
안녕하세요. 그린입니다🟢 이번 포스팅에서는 CasePath에 대해 학습해보겠습니다🙌 저는 주로 요새 Composable Architecture(TCA)를 사용하는데 타 reducer를 pullback 받아올때 keypath와는 다른 casepath를 볼 수 있었기에 이것에 대해 뭐하는 친구인지 알아보려합니다! 우선 이 친구는 이름에서도 느껴지지만 keypath와 비슷한 역할을 해주는 친구같죠? 그럼 이제 알아보시죠! CasePath? CasePath는 Swift에서 기본적으로 제공해주는 keypath같은 친구는 아닙니다. 즉, TCA를 만든 pointfreeco에서 커스텀하게 만들어준 오퍼레이터입니다. 그럼으로 해당 라이브러리를 토대로 보겠습니다. (사실 해당 라이브러리외에 레퍼런스는 다 번역을 거친것이..
-
DarkModeiOS 2022. 3. 31. 20:51
안녕하세요. 그린입니다🟢 이번 포스팅에서는 다크모드에 대해서 알아보겠습니다🙋🏻 다크모드? 다크모드는 iOS 13 이상에서 흔히들 말하는 설정에서 디바이스 자체를 다크모드로 설정하면 전체적으로 어두운 테마의 시스템을 채택하도록 할 수 있습니다. 특징은 어두워지는만큼 더 많은 생동감을 사용해 전경 컨텐츠들을 더 부각시켜줍니다. 앱에서 다크/라이트 모드 대응 시 주의점 1. 앱도 다크모드에 따라 잘 반영해야합니다. 2. 라이트/다크 모두에서 디자인이 의도한바와 같이 정상적인지 테스트해야합니다. 3. 대비 및 투명도 등 접근성 설정을 조정했을때에도 다크모드에서 가독성이 좋은지 확인해야합니다. 다크모드 색상 관련 다크모드의 색상을 선택할때는 중요한 사항들이 조금 있습니다. 1. 시스템 배경색 선호 - 다크모드는 ..
-
Combine - ConnectablePublisherCombine 2022. 3. 28. 20:20
안녕하세요. 그린입니다🟢 이번 포스팅에서는 전 시간에서 multicast와 share를 학습하면서 살짝 스치듯이 말하고간 ConnectablePublisher에 대해 학습해보겠습니다🙋🏻 우선 만약 이전 포스팅인 multicast와 share를 못보셨다면 보고 오시는걸 추천해요! https://green1229.tistory.com/230 Combine - multicast / share 안녕하세요. 그린입니다🟢 이번 포스팅에서는 다시 컴바인 세계로 돌아와 multicast와 share에 대해 알아보겠습니다🙏🏻 우선 어떤걸 하는 친구들이냐!? 하나의 Publisher로 부터 구독을 한 여러 Subs green1229.tistory.com 이전 포스팅에서 언급한 ConnectablePublisher에 대한 ..
-
Combine - multicast / shareCombine 2022. 3. 24. 20:01
안녕하세요. 그린입니다🟢 이번 포스팅에서는 다시 컴바인 세계로 돌아와 multicast와 share에 대해 알아보겠습니다🙏🏻 우선 어떤걸 하는 친구들이냐!? 하나의 Publisher로 부터 구독을 한 여러 Subscriber들에게 각각 이벤트를 여러번 발행하는게 아니라 하나의 요소에 한번의 이벤트만 발생시켜줄 수 있도록 해주는 친구들입니다🙌 이번건 꽤나 간단히 이해될 수 있으니 한번 해보시죠! multicast 공식문서를 보면 클로저를 적용해 구독자에게 요소를 전달하는 subject를 만들어준다고해요. 역시 공식문서의 정의는 어려워...🤯 우선 그러려니~ 하고 정의된 코드를 보시죠! func multicast(_ createSubject: @escaping () -> S) -> Publishers.Mul..
-
SwiftUI - @State / @Binding / @StateObject / @EnvironmentObjectSwiftUI 2022. 3. 21. 20:15
안녕하세요. 그린입니다🟢 이번 포스팅에서는 전 포스팅에 이어 SwiftUI에서 구조체 내부에서 값을 변경하여 반영해주거나 전역적으로 값의 업데이트를 반영해주는 그런 친구들인 타이틀의 세친구 즉, @State, @Binding, @StateObject, @EnvironmentObject에 대해서 학습해보겠씁니다🙋🏻 우선 하나씩 차례대로 진행해보겠습니다👍 @State 정의를 먼저보면, SwiftUI에서 값을 읽고 쓸 수 있는 유형의 어노테이션입니다. @frozen @propertyWrapper struct State 역시 propertyWrapper이고 구조체입니다. SwiftUI에서 우선 뷰는 구조체입니다. 즉, 내부 값을 변경해줄 수 없는데 이 @State를 이용해 변경해줄 수 있습니다. 또한 구조체이기..
-
Combine - ObservableObject / @Published / @ObservedObjectCombine 2022. 3. 17. 21:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 ObservableObject라는 프로토콜에 대해 학습해보겠습니다🙋🏻 추가로 이어져서 @Published와 @ObservedObject도 보시죠! 요즘 개인적으로 많이 바빠져서 블로그를 소홀하게 될 것 같아.. 많은 양을 공부하고 포스팅하는것보다 짧게 학습하고 포스팅하면서 꾸준함을 잃지 않는 전략으로 당분간 가려합니다! (안그러면 어느 순간 놔버릴것 같은....) 그래서 이번에 준비한 주제는 초심부터 찾자! 느낌으로 저번에 Combine의 대표적 개념들을 공부하면서 연결되어 ObservableObject라는 주제를 선정하게 되었네요ㅎㅎ 그럼 신속하게 학습하고 치고 빠져 봅시다🙌 ObservableObject? 공식문서의 정의는 개체 변경 전 방출하는 게시자가 있..