フェードアニメーション
extension View { @ViewBuilder func overlayFadeView<OverlayView: View>(isPresented: Binding<Bool>, @ViewBuilder overlay: () -> OverlayView) -> some View { ZStack { self if isPresented.wrappedValue { VStack { overlay() .transition(.opacity) .zIndex(1) } .frame(maxWidth: .infinity, maxHeight: .infinity) .background(Color.blue) } } } }
フェードアニメーション
使い方
var body: some View { Text("遷移元画面") .overlayFadeView(isPresented: $isPresented) { Text("遷移先画面") } }