
DatePicker를 그냥 사용했더니 아이폰의 언어 설정이 한국어로 설정되어 있어도 영어로 떠서 당황했다.. 해결 방법DatePicker("날짜를 선택해주세요", selection: $selectDate, in: Date()..., displayedComponents: .date) .environment(\\.locale, Locale(identifier: String(Locale.preferredLanguages[0]))) // 사용자의 최상위 언어 가져오기이렇게 .environment를 추가하면 된다
단순하게 NavigationLink에 onTabGesture를 붙이면 될 거라고 생각했다. 하지만 이러면 onTabGesture는 동작하지 않는다.. 해결 방법struct InfoCollectionView: View { @State private var navigate = false // NavigationLink 기능 var body: some View { Button { // Button(onTabGesture) 기능! } label: { Text("완료") } .background( // NavigationLink 기능 NavigationLink(destination: SelectRegionView(viewModel: SelectRegionViewMod..

.background( Color.white .shadow(color: .gray.opacity(0.2), radius: 10, x: 0, y: 0) .mask(Rectangle().padding(.top, -20)))Button의 그림자는 이렇게 단순하게 background와 shadow를 이용하면 됐다. 하지만 TabView는 이렇게 해도 동작하지 않는다. 해결 방법import Foundationimport UIKitimport SwiftUIextension UITabBarController { open override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() tabB..

SplashView 작성 // SplashView.swift struct SplashView: View { var body: some View { VStack { Image("flo-splash") .resizable() // .aspectRatio(contentMode: .fill) .edgesIgnoringSafeArea(.all) } } } ContentView 작성 // ContentView.swift struct ContentView: View { @State private var showMainView = false var body: some View { VStack { if showMainView { PlayerView() } else { SplashView() .onAppear { Disp..

이렇게 자동스크롤이 되는 배너를 구현하려고 한다. 일단 배너는 의외로 간단하게 구현할 수 있다. TabView로 구현하면 된다! 배너 구현 코드 // BannerView.swift var body: some View { TabView { ForEach(viewModel.banners, id: \\.self) { banner in Image(banner.image) .resizable() .scaledToFill() } } .tabViewStyle(.page) } TabView에 .tabViewStyle(.page)를 이용하면 된다. 자동 스크롤 구현 코드 // BannerView.swift @State private var currentIndex = 0 var body: some View { TabVie..

// ProductDetailView.swift Button { isModalPresented.toggle() } label: { Text("구매하기") } .buttonStyle(ProductButtonStyle(height: 56, isMaxWidth: true)) .sheet(isPresented: $isModalPresented) { ProductOrderView(viewModel: viewModel) .presentationDetents([.height(80)]) } 이렇게 구매하기 버튼을 누르고 결제하기, 장바구니 modal을 띄우면 현재 뷰가 갑자기 자기 혼자 사라진다.. dismiss를 누른 것 처럼… 근데 알고보니 문제는 관련 뷰들의 코드에 없었다! 해결 방법 // MainTabView...