SwiftUI (5) 썸네일형 리스트형 [SwiftUI / MVI 패턴] MVI 패턴의 변화 ( iOS 17+ ) - 2탄 2025.06.07 - [SwiftUI] - [SwiftUI / MVI 패턴] MVI 패턴의 변화 ( iOS 17+ ) [SwiftUI / MVI 패턴] MVI 패턴의 변화 ( iOS 17+ )MVI 패턴에 익숙하지 않지만 그래도 공부의 목적으로 MVI 패턴에 대해서 공부했던걸 끄적여봄.우선 MVI 패턴에 대해서는 단방향 아키텍쳐가 핵심이다. 자세한건 다른 블로그 글들 많으니 참고 바slowsure.tistory.com이 글에 이어서 적겠음. 위의 이전 글을 읽고 오는걸 추천그러니깐 @Observable과 ObservableObject는 어떻게 차이가 나길래? MVI 에서 Containter를 걷어낼 수 있었을까?@Observable과 ObservableObject 모두 코드를 볼 수 있음 바로 알겠지만.. [SwiftUI / MVI 패턴] MVI 패턴의 변화 ( iOS 17+ ) MVI 패턴에 익숙하지 않지만 그래도 공부의 목적으로 MVI 패턴에 대해서 공부했던걸 끄적여봄.우선 MVI 패턴에 대해서는 단방향 아키텍쳐가 핵심이다. 자세한건 다른 블로그 글들 많으니 참고 바람.내가 다루고자하는건 MVI 패턴과 ObservableObject와 @Observable이다.우선 나는 @Observable 매크로를 이용해서 MVI 패턴을 다음과 같이 추상화함.View 이름을 MyView라고 할 때MyViewIntentProtocol : View -> Intent로 전달할 줄 함수 정의 프로토콜MyViewStateDataProtocol: View가 의존하는 데이터들을 정의한 프로토콜MyViewStateProtocol: Intent -> State로 전달하는 함수 정의 프로토콜Intent는 Vi.. [SwiftUI] ScrollView Paging 하기 App Store에서 미리보기 저 스크롤은 페이지 스크린샷 만큼씩만 페이지가 넘어간다.TabView로 구성하면 될까 싶었지만TabView는 한 페이지에 1개씩 밖에 안된다. 저렇게 반쯤 걸쳐져 있는 것은 구현이 안된다.ScrollView(.horizontal) { HStack { ForEach(0..방법은 .scrollTargetBehavior(.viewAligned) .scrollTargetLayout() 이다해당 방법을 통해서 원하는 크기 만큼씩 Scroll을 조절할 수 있다. [SwiftUI] GeometryReader로 반응형 화면 만들기 여기서 [미리 보기] 의 스크린 샷 처럼 스크린 샷 하나가 전체 화면의 일부분만 차지하게 만들고 싶었다.-> GeometryReader를 overlay해서 해결import SwiftUIstruct AppScreenShotView: View { @State var imageWidth: CGFloat = 300 let horizontalPadding: CGFloat = 21 var body: some View { VStack(spacing: 12) { HStack { Text("미리 보기") .font(19, .bold) Spacer() } .. [SwiftUI] SearchBar in Navigation AppStore 클론 코딩을 하면서 저 NavigationTitle 속에 있는 SearchBar를 구현하고 싶었다.검색해도 잘 안 나와서 찾은 걸 정리한다.NavigationStack { ScrollView { // Some View } .navigationTitle("검색") .toolbarTitleDisplayMode(.inlineLarge) .searchable(text: $textTerm,isPresented: $presentSearchable ,placement: .navigationBarDrawer(displayMode: .always), prompt: "게임, 앱, 스토리 등..") .onSubmit(of: .search) { print("S.. 이전 1 다음