SwiftUI
-
SwiftUI - ScrollPositionSwiftUI 2024. 10. 14. 18:56
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI의 ScrollPosition에 대해 알아보겠습니다 🙋🏻 ScrollPosition이번 iOS 18로 업데이트 되면서 SwiftUI에서 ScrollPosition 타입이 생기면서 이와 관련된 모디파이어들로 스크롤 뷰의 기능이 더 편리해졌습니다 😃 기존에, SwiftUI에서 ScrollView를 사용할 때, 특정 위치로 스크롤을 이동시키거나 할때 우리는 ScrollViewReader를 활용해서 scrollTo 메서드로 동작 시켜줬습니다. 이와 관련해서는 아래 포스팅을 참고해보면 이번 포스팅에서 다뤄볼 ScrollPosition과 어떤 차이가 있는지 확인해볼 수 있어요! SwiftUI - ScrollViewReader안녕하세요. 그린입니다🍏 ..
-
SwiftUI - ScaledMetricSwiftUI 2024. 9. 9. 19:10
안녕하세요. 그린입니다 🍏이번 포스팅에서는 이미지 에셋의 크기에 대해 ScaledMetric API를 적용해 다이나믹 타입에 대처하는 방법에 대해 알아보겠습니다 🙋🏻 올해 WWDC 2024에서 Get started with Dynamic Type이라는 세션이 공개되었습니다.해당 세션에서 다이나믹 타입에 대해 전반적으로 소개하며 다루고 있는데요.여기서 ScaledMetric이라는 프로퍼티 래퍼로 우리의 이미지 에셋 크기를 다이나믹 타입을 적용할 수 있다고 소개하고 있어요 😃 그래서 그 ScaledMetric API가 어떤건지 핵심만 정리해봅니다! Get started with Dynamic Type 세션을 정리한 포스팅도 있으니 많은 관심 부탁드립니다 🙇🏻 Get started with Dyn..
-
SwiftUI - AnyLayoutSwiftUI 2024. 8. 29. 18:28
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI의 AnyLayout에 대해 학습해보겠습니다 🙋🏻 AnyLayout우선 AnyLayout은 레이아웃 프로토콜의 타입 소거된 인스턴스입니다.여기서 Type erasure란, 컴파일 시간에 알려진 타입 정보의 일부를 런타임에 제거하는 과정을 말하며 주로 제네릭 프로그래밍에서 유용하게 사용됩니다.즉, 구체 타입은 숨기고 더 일반적인 인터페이스를 제공할 수 있죠.AnyLayout도 Any라는것이 붙었으니 구체적인 타입을 숨기고 Layout이라는 인터페이스를 제공함을 추론해볼 수 있습니다. SwiftUI에선 AnyView도 동일한거라고 보시면 됩니다 😃 @frozenstruct AnyLayout 선언 구조 자체는 구조체로 간단합니다. AnyLayout..
-
Enhance your UI animations and transitions (feat. WWDC 2024)SwiftUI 2024. 7. 29. 18:33
안녕하세요. 그린입니다 🍏이번 포스팅에서는 WWDC 2024에서 소개된 UI 애니메이션과 전환 기능을 향상시키는것에 대해 알아보겠습니다 🙋🏻 그럼 바로 본론으로~ 🏃🏻 Enhance your UI animations and transitions소개에서는 이제 SwiftUI, UIKit 및 AppKit의 애니메이션의 상호작용이 더 극대화되었다고 합니다.아마 유추해보건데, 각 기술들에서 애니메이션을 자유롭게 상호적으로 쓸 수 있는것에 대해 알려줄것 같네요 🤔 TransitionsiOS 18에선 새로운 확대/축소 전환 기능이 생겼습니다. 이렇게 특정 셀을 가지고 화면이 전환될때 확대/축소 애니메이션이 적용되고 또, 드래그도 마음대로 할 수 있죠.즉, 동일한 UI 요소를 화면에 유지하여 앱의 연속성..
-
Create custom visual effects (feat. WWDC 2024)SwiftUI 2024. 7. 22. 18:30
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI에서 커스텀한 시각 효과를 만드는 방법에 대해 학습해보겠습니다 🙋🏻 WWDC 2024에서 SwiftUI로 custom visual effect를 만드는 방법에 대해 더 진보적이게 발전시켜 소개하고 있기에 한번 알아보려고 가져와봤어요 😃 이전 포스팅인 What's new in SwiftUI (feat. WWDC 2024)에서 마지막쯤에 해당 비주얼 이펙트에 대해 간단히 소개하고 넘어갔는데, 이번에 더 자세히 알아보게 되었습니다ㅎㅎ What's new in SwiftUI (feat. WWDC 2024)안녕하세요. 그린입니다 🍏이번 포스팅부터는 조금씩 미뤄왔던 WWDC 2024 세션들을 다시 살펴보면서 관심있는 주제들에 대해 리캡을 해볼까 합니다..
-
SwiftUI - ViewThatFitsSwiftUI 2024. 7. 15. 18:20
안녕하세요. 그린입니다 🍏이번 포스팅에서는 SwiftUI의 ViewThatFits 컴포넌트에 대해 알아보겠습니다 🙋🏻 오랜만에 정말 가볍게 요런것도 활용해볼 수 있구나 하는 주제이니 편하게 같이 훑어보시죠 😃 ViewThatFits해당 컴포넌트는 SwiftUI에서 하위 자식 뷰들중에서 현재 사용 가능한 공간에 제일 적합한 뷰를 선택해 화면에 렌더링해주는 뷰 컴포넌트입니다.즉, 해당 뷰 컴포넌트는 대게 다양한 화면 사이즈나 레이아웃에서 유연하게 뷰를 선택해서 표시할때 이용됩니다.iOS 16.0 이상이라면 모두 적용할 수 있어요! 선언을 볼까요? @MainActor @frozen @preconcurrencystruct ViewThatFits where Content : View 이렇게 일반적인 다른 ..
-
Demystify SwiftUI containers (feat. WWDC 2024)SwiftUI 2024. 7. 11. 19:00
안녕하세요. 그린입니다 🍏이번 포스팅에서는 WWDC 2024에서 말아주는 Demystify SwiftUI containers 세션에 대해 같이 볼까 합니다 🙋🏻 세션 타이틀부터 느껴지는게 SwiftUI 컨테이너 뷰에 대해 알아보면서 어떻게 뷰들이 컨테이너에 의해 관리되는지 우리에게 설명해줄것 같아요 😃 그럼 바로 들어가볼까요? 🏃🏻 Demystify SwiftUI containersSwiftUI는 API에서 리스트 컨테이너와 같이 모든 기능을 갖춘 다양한 종류의 컨테이너를 제공합니다. 이렇게 컨테이너 뷰는 컨텐츠를 래핑하기 위해서 후행 뷰 빌더 클로즈를 사용합니다.뷰 빌더를 사용하면 하드 코딩된 텍스트 뷰들의 리스트처럼 콘텐츠를 정적으로 정의할 수 있죠! 또한, ForEach를 이용하여 동적..
-
What's new in SwiftUI (feat. WWDC 2024)SwiftUI 2024. 7. 8. 18:12
안녕하세요. 그린입니다 🍏이번 포스팅부터는 조금씩 미뤄왔던 WWDC 2024 세션들을 다시 살펴보면서 관심있는 주제들에 대해 리캡을 해볼까 합니다 😃그 중에서 첫번째로 리캡해볼것은 SwiftUI입니다 🙋🏻이번 WWDC 2024에서 SwiftUI의 새로운것들은 어떤것들이 나왔는지 한번 살펴보겠습니다! 물론, 여기서는 딥하게 들어가는 느낌이 아닌 전반적으로 어떤것들이 생겨났는지 톺아보는것이고 그에 대해 더 딥한 주제들은 별도 세션으로 또 마련되어 있습니다. 즉, 저도 한번 간단히 톺아본 후 이후 포스팅들에서 하나씩 생겨난것들에 대해 딥한 세션을 정리해볼까해요 ☺️ 그럼 함축된것으로 알아보시죠 👀 What's new in SwiftUIFresh apps이제 SwiftUI를 통해 새로운 탭 뷰 그리고 ..