SwiftUI导航栏标题和向后滑动失败后项目不会消失

问题描述 投票:0回答:1

enter image description here

问题是导航栏的标题和项目没有消失,这是意外行为。

struct DestinationView: View {

@State private var showingActionSheet = false

var body: some View {
    Text("DestinationView")
        .padding(.top, 100)
        .navigationBarTitle(Text("Destination"), displayMode: .inline)
        .navigationBarItems(trailing: Button(action: {
            print("tapped")
        }, label: {
            Text("second")
        }))
        .actionSheet(isPresented: self.$showingActionSheet) { () -> ActionSheet in
            ActionSheet(title: Text("Settings"), message: nil, buttons: [
                .default(Text("Delete"), action: {
                }),
                .cancel()
            ])
        }

}

}
ios swift xcode uinavigationbar swiftui
1个回答
0
投票

问题是,.navigationBarTitle()、. navigationBarItems()修饰符和.actionSheet()修饰符在代码中位于彼此之下。 (但也可以是.alert()或.overlay()修饰符,而不是.actionSheet())

在这种情况下的解决方案:

struct DestinationView: View {

@State private var showingActionSheet = false

var body: some View {

    List {
        Text("DestinationView")
            .padding(.top, 100)
            .navigationBarTitle(Text("Destination"), displayMode: .inline)
            .navigationBarItems(trailing: Button(action: {
                print("tapped")
            }, label: {
                Text("second")
            }))
    }
    .actionSheet(isPresented: self.$showingActionSheet) { () -> ActionSheet in
        ActionSheet(title: Text("Settings"), message: nil, buttons: [
            .default(Text("Delete"), action: {
            }),
            .cancel()
        ])
    }
}
}
© www.soinside.com 2019 - 2024. All rights reserved.