SwiftUI
-
@FocusState 사용하기SwiftUI 2022. 9. 5. 11:37
안녕하세요. 그린입니다🍏 이번 포스팅에서는 @FocusState 라는 프로퍼티 래퍼를 사용해 SwiftUI에서 사용되는 텍스트 필드 등의 포커싱을 컨트롤 하는 학습을 해보겠습니다🙌 @FocusState 사용 하지 않았을 경우 iOS 15부터 나온 개념이라 이전 OS에서는 TextField를 사용하면서 커서가 위치하는 즉 여기서 말하는 포커싱을 사용하는 기술을 SwiftUI에서는 지원하지 않았습니다. 그렇기에 우리는 늘 그렇듯 SwiftUI만으로는 아직 제공하지 않거나 구현되지 않는 항목이 있으면 UIKit의 도움을 받아야 했어요. 이번 경우도 동일합니다. UIViewRepresentable를 사용해서 결국 UITextView를 만들어 SwiftUI에서 사용시켜줘야 했어요. 이 과정에서 UITextFiel..
-
SwiftUI - isDetailLink (With. NavigationLink)SwiftUI 2022. 8. 23. 11:38
안녕하세요. 그린입니다🍏 이번 포스팅에서는 SwiftUI에서 isDetailLink라는 메서드를 알아보려고 합니다🙋🏻 우선 이 메서드는 SwiftUI에서 화면 전환을 담당해주는 NavigationView를 통해 실제적인 화면 전환 링크인 NavigationLink를 통해서 이뤄지게 됩니다. 그럴때 이 해당 NavigationLink라는 구조체를 사용할때 isDetailLink라는 메서드를 기능으로 붙여줄 수 있습니다. 그럼 실제적으로 이 isDetailLink가 무엇인지 어떤 역할을 하는지 한번 알아보시죠! isDetailLink? 인스턴스 메서드로 정의는 이렇습니다. "네비게이션 뷰를 포함하는 디테일 요소로 나타내도록 네비게이션 링크를 설정한다" 이 한문장이 핵심이라고 생각합니다. 즉 상위뷰에서 하위뷰..
-
SwiftUI에서 MVVM 사용을 멈춰야 하는가?SwiftUI 2022. 7. 28. 11:12
안녕하세요. 그린입니다🟢 이번 포스팅에서는 요즘 아니 예전부터 조금 말이 많이 나오고 있던 SwiftUI를 쓰면서 MVVM 아키텍쳐 사용을 지양하는 의견들이 많이 나오고 있습니다. 이에 한 개발자가 생각을 정리한 레퍼런스를 보면서 제 의견도 같이 한번 정리해볼까합니다🙌 우선 많은 레퍼런스를 이것을 위해 봤는데요. 그중에서 지금부터 이 포스팅에 정리할 글들의 원본은 아래에서 참고했다고 보시면 됩니다! 물론 저기서 제 의견과 다른 부분도 있고 조금 더 정리해볼 부분도 있어서 이 부분에는 제 의견을 가미했습니다~ https://qiita.com/karamage/items/8a9c76caff187d3eb838 「SwiftUIでMVVMを採用するのは止めよう」と思い至った理由 - Qiita ※2022/04/23 追記 ..
-
SwiftUI 4.0 - NavigationPathSwiftUI 2022. 6. 23. 10:27
안녕하세요. 그린입니다🟢 이번 포스팅에서는 SwiftUI 4.0에서 네비게이션 관련해서 새로운 API가 나오면서 딸려온 NavigationPath에 대해 알아보겠습니다🙋🏻 아마.. 짧을거고요(분량이) 아마.. 짧을겁니다(내용이)🕺🏻 저번 포스팅이였던 NavigationStack을 살펴보면서 SwiftUI에서 네비게이션이 많이 편리해졌구나~ 쓸맛 나겠는데? 라고 학습하면서 느꼈어요! 혹시 궁금하시거나 안보신 분들은 아래 NavigationStack 포스팅을 선행해주세요🙌 https://green1229.tistory.com/256 SwiftUI 4.0 - NavigationStack 안녕하세요. 그린입니다🟢 이번 포스팅에서는 SwiftUI 4.0에서 발표된 NavigationStack에 대해 학습해보겠습니..
-
SwiftUI 4.0 - NavigationStackSwiftUI 2022. 6. 20. 11:17
안녕하세요. 그린입니다🟢 이번 포스팅에서는 SwiftUI 4.0에서 발표된 NavigationStack에 대해 학습해보겠습니다🙌 들어가기전 주절주절 개인적으로 이번 SwiftUI 4.0 업데이트 사항이 좋은것들이 참 많았지만 이번 소개할것이 가장 기대됩니다! 그만큼 이전 SwiftUI 3.0에서는 미니멈 타겟에 따라 네비게이션과 관련된 이슈들이 많았고 참 힘들었어요😭 물론 해당 기술을 적용하려면 iOS 16.0 이상이 되어야하기에 아직 현업에서 적용시키기에 먼 미래의 일이기도 하겠지만 먼 미래를 위해 지금 해두죠✨ NavigationStack이란? 네비게이션 스택하면 뭔지 딱 감이 오시죠? 네비게이션 즉 뷰, 화면 전환의 네비게이션 방식이 있습니다. 완전히 흐름이 다른 뷰로 넘어가게 되는 방식이죠. 이 ..
-
SwiftUI 4.0 - ChartsSwiftUI 2022. 6. 10. 07:00
안녕하세요. 그린입니다🟢 드디어...!!!!! SwiftUI 4.0이 나왔네요ㅎㅎ 이번 SwiftUI 4.0에서는 제가 생각할때는 정말 장족의 발전을 했다고 생각합니다🙌 특히 네비게이션도 그렇고.. 네비게이션도...... 그렇고..... 무튼! 오늘의 주제는 SwiftUI 4.0에서 새로 나온 API인 Charts를 소개해볼까 합니다🙋🏻 SwiftUI 4.0에서 많은 기술들이 도입되었고 변경된 부분도 많습니다. 이에 한 포스팅에서 다 다루는것보다 하나씩 조금 디테일하게 다뤄보기 위해 포스팅을 나누겠습니다👏 Charts? 차트가 뭘까요? 다들 아시는 그거입니다ㅋㅋ 차트나 그래프 등 수치를 가지고 어떠한 지표를 도식화해 보여주는것을 말하죠. 기존에 우리는 차트를 그리려면 정말 쌩으로 Path를 주고 일일히 ..
-
SwiftUI - TabViewSwiftUI 2022. 4. 9. 12:38
안녕하세요. 그린입니다🟢 이번 포스팅에서는 SwiftUI 내에서 기본 애플에서 제공하는 TabView에 대해 알아보겠습니다🙌 주로 앱을 구성하다보면 하단에 홈 / 설정 등 메뉴로 갈 수 있는 TabBar에 대해 꼭 구성하곤 합니다. 어떻게 보면 없는 앱을 찾기가 더 어려울정도입니다🥲 바로 요런거요! 그래서 이번 포스팅에서 이걸 구성할 수 있는 TabView에 대해 알아보고 구현해볼께요ㅎㅎ TabView? 공식문서를 파해쳐보죠! 탭뷰의 정의는 대화형 사용자 인터페이스 요소를 사용해 여러 하위 뷰 간 전환할 수 있도록 하는 뷰입니다. 즉 다들 흔히 알고 있는 탭바의 항목들을 클릭해 뷰를 전환할 수 있게 해주는것입니다. TabView 선언 struct TabView where SelectionValue : H..
-
SwiftUI - @State / @Binding / @StateObject / @EnvironmentObjectSwiftUI 2022. 3. 21. 20:15
안녕하세요. 그린입니다🟢 이번 포스팅에서는 전 포스팅에 이어 SwiftUI에서 구조체 내부에서 값을 변경하여 반영해주거나 전역적으로 값의 업데이트를 반영해주는 그런 친구들인 타이틀의 세친구 즉, @State, @Binding, @StateObject, @EnvironmentObject에 대해서 학습해보겠씁니다🙋🏻 우선 하나씩 차례대로 진행해보겠습니다👍 @State 정의를 먼저보면, SwiftUI에서 값을 읽고 쓸 수 있는 유형의 어노테이션입니다. @frozen @propertyWrapper struct State 역시 propertyWrapper이고 구조체입니다. SwiftUI에서 우선 뷰는 구조체입니다. 즉, 내부 값을 변경해줄 수 없는데 이 @State를 이용해 변경해줄 수 있습니다. 또한 구조체이기..