SwiftUI องมุมมองถูกผลักและถูกเปิดออกทันทีหลังร้านปิดงแผ่นงาน

0

คำถาม

ฉันมีปัญหากับแผ่นงานที่แสดงรายการของแถวดังนั้นตอนแถวก็คือได้กดปุ่มแอ๊ปควรจะไปอีกมุมมอง/จอภาพสงวนลิขสิทธิ์(C มุมมอง)และแผ่นงานถูกปิด,ซึ่งมันเกิดขึ้นแต่งมุมมอง/หน้าจอมือนผุดขึ้นมาออกไปหลังจากที่ถูกผลัก

iOS 15

มุมมองเป็น:

import SwiftUI

struct A: View {
@State private var showNewMessage = false
@State private var showChatView = false
var body: some View {
    ZStack(alignment: .bottomTrailing){
        
        NavigationLink(
            destination: C(),
            isActive: $showChatView,
            label: {})
        
        //NavigationLink(destination: EmptyView(), label: {})
        
        
        ScrollView {
            VStack(alignment: .leading) {
                
                ForEach( 1...10, id: \.self){_ in
                    NavigationLink(
                        destination: C(),
                        label: {
                            ChatView()

                        })
                }
            }
        }
        
        Button(action: {
            //showNewMessage.toggle()
            showNewMessage = true
        }, label: {
            Image(systemName: "pencil")
                .resizable()
                .scaledToFit()
                .frame(width: 24, height: 24)
        })
        .padding()
        .foregroundColor(Color.white)
        .background(Color.blue)
        .clipShape(Circle())
        .sheet(isPresented: $showNewMessage, onDismiss: test, content: {
            B(showChatView: $showChatView, closeView: $showNewMessage)
        }).navigationViewStyle(StackNavigationViewStyle())
        
    }
    .padding(.horizontal)
}

func test(){
    print("Epale Debug: showChatValue: \(showChatView)")
}

func toggle(){
    showChatView.toggle()
}
}

มุมมอง B:

import SwiftUI

struct B: View {
@Binding var showChatView: Bool
@Binding var closeView: Bool
//@Environment(\.presentationMode) var mode
var body: some View {
    Button(action: {
        //showChatView.toggle()
        showChatView = true
        closeView = false
        print("Epale Debug: showChatValue: \(showChatView)")
        //mode.wrappedValue.dismiss()
    }, label: {
        Text("Toggle")
    })
}
}

พีเอส:องมุมมอง C เป็นเพียงมุมมองอีกมุมมองหนึ่งและฉันแล้วเพิ่มค navigationViewStyle(StackNavigationViewStyle())ทรัพย์สินที่ NavigationView ในรากของแฟ้มได้

ios ios15 iphone swiftui
2021-11-23 05:33:04
1

คำตอบที่ดีที่สุด

1

เปลี่ยนที่สองของรัฐหลังจากเวลาสักหน่อยเ้พื่อให้ใครให้โอกาสที่จะจบแผ่นงานแผ่นปิดเหมือน

Button(action: {
    closeView = false
    print("Epale Debug: showChatValue: \(showChatView)")

    DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
       showChatView = true      // << here !!
    }

}, label: {
    Text("Toggle")
})
2021-11-23 06:01:23

คุณสามารถตรวจสอบเรื่องนี้ให้ stackoverflow.com/questions/70075901/...
karthikeyan

มันทำงานเหมือนกับลงอย่างสวยงามนะ
Jose Ricardo Citerio Alcala

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่