Ich habe ein minimal reproduzierbares Beispiel für die documentGroup App mit einer NavigationsplitView mit einem DetailView . Ich möchte die Standardnavigationsleiste in diesen Ansichten vollständig entfernen und meine eigene .toolbar liefern. So habe ich dies auf iOS 18.0-18.3 < /p>
app.swift
erreicht
Code: Select all
@main
struct App: App {
var body: some Scene {
DocumentGroup(newDocument: BackButtonTestDocument()) { file in
NavigationSplitView {
List {
NavigationLink("Detail View", destination: DetailView())
}
} detail: {
DetailView()
}
.toolbar(.hidden, for: .navigationBar)
}
DocumentGroupLaunchScene("Back Button Test") {
Color.green
}
}
}
< /code>
detailView.swift
struct DetailView: View {
var body: some View {
VStack {
Text("This is the detail view")
}
.navigationBarBackButtonHidden(true)
.toolbar {
LightbulbButton()
}
}
}
< /code>
lightbulbbutton.swift
struct LightbulbButton: ToolbarContent {
var body: some ToolbarContent {
ToolbarItem(placement: .topBarLeading) {
Button(action: { print("Tapped") }) {
Label("Lightbulb", systemImage: "lightbulb")
}
}
}
}
< /code>
Dieser Code hat mir das Ergebnis gebracht, das ich wollte:
Die Frage < /h1>
Wie kann ich die Standardnavigationsleiste mit einem benutzerdefinierten Tastenlayout in iOS 18.4 und weiter überschreiben? Selbst wenn es so wäre, würde ich immer noch mit dem Titel und dem Titelleistenmenü festhalten.