2

次のようなコードがあります。

            VStack{
                if (DeleteScreen.sharedInstance.postDelete){
                    VStack{
                        GeometryReader{_ in
                            DeletePostAlert()
                                .frame(maxWidth: .infinity, alignment: .center)
                                .frame(maxHeight: .infinity, alignment: .center)
                                .transition(AnyTransition.opacity.animation(.easeInOut(duration: 0.2)))
                            
                        }.background(Color.black.opacity(0.65))
                        
                        .onDisappear{

                        }
                        .onAppear{
                            
                            
                            
                        }
                    }
                }
            }

ここで、DeletePost アラートは次のように定義されます。

class DeleteScreen: ObservableObject {
    static let sharedInstance = DeleteScreen()
    @Published var postDelete: Bool = false
}

ただし、何らかの理由で、遷移アニメーションが機能していません。DeletePostAlert() をフェードインまたはスライドインなどにしようとしていますが、これまで試したことはすべてうまくいきませんでした。.animation(.spring()) のようなものも試しましたが、役に立ちませんでした。

ここで私が間違っていることについてのガイダンスをいただければ幸いです。

ありがとう

4

1 に答える 1