iOS: 'Bearbeiten'-Leiste sichtbar machen (nicht mehr in versteckter .bottomBar)
Der Start-Tab liegt in einer TabView; deren Tab-Balken verdeckte die .bottomBar-Werkzeugleiste, deshalb war 'Bearbeiten' nicht auffindbar. Jetzt eine eigene Leiste per safeAreaInset direkt ueber dem Tab-Balken. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -30,7 +30,10 @@ struct LocalOverview: View {
|
||||
anzeige
|
||||
}
|
||||
}
|
||||
.toolbar { ToolbarItemGroup(placement: .bottomBar) { werkzeugleiste } }
|
||||
// Eigene Leiste statt `.bottomBar`: der Start-Tab liegt in einer TabView,
|
||||
// deren Tab-Balken die `.bottomBar` verdecken würde. `safeAreaInset` legt
|
||||
// die Leiste sichtbar direkt über den Tab-Balken.
|
||||
.safeAreaInset(edge: .bottom) { werkzeugleiste }
|
||||
.sheet(isPresented: $addShown) {
|
||||
CardPickerView { neu in fuegeHinzu(neu) }
|
||||
}
|
||||
@@ -111,33 +114,41 @@ struct LocalOverview: View {
|
||||
.pickerStyle(.menu)
|
||||
}
|
||||
|
||||
@ViewBuilder private var werkzeugleiste: some View {
|
||||
if bearbeiten {
|
||||
Button { addShown = true } label: { Label("Karte", systemImage: "plus") }
|
||||
Spacer()
|
||||
Menu {
|
||||
Button("Dashboard hinzufügen", systemImage: "plus") { neuesDashboard() }
|
||||
if aktives != nil {
|
||||
Button("Umbenennen", systemImage: "pencil") {
|
||||
renameText = aktives?.name ?? ""; renameShown = true
|
||||
}
|
||||
if config.dashboards.count > 1 {
|
||||
Button("Dashboard löschen", systemImage: "trash", role: .destructive) {
|
||||
loescheDashboard()
|
||||
private var werkzeugleiste: some View {
|
||||
VStack(spacing: 0) {
|
||||
Divider()
|
||||
HStack {
|
||||
if bearbeiten {
|
||||
Button { addShown = true } label: { Label("Karte", systemImage: "plus") }
|
||||
Spacer()
|
||||
Menu {
|
||||
Button("Dashboard hinzufügen", systemImage: "plus") { neuesDashboard() }
|
||||
if aktives != nil {
|
||||
Button("Umbenennen", systemImage: "pencil") {
|
||||
renameText = aktives?.name ?? ""; renameShown = true
|
||||
}
|
||||
if config.dashboards.count > 1 {
|
||||
Button("Dashboard löschen", systemImage: "trash", role: .destructive) {
|
||||
loescheDashboard()
|
||||
}
|
||||
}
|
||||
}
|
||||
} label: {
|
||||
Label("Dashboards", systemImage: "rectangle.stack")
|
||||
}
|
||||
Spacer()
|
||||
Button("Fertig") { bearbeiten = false }.fontWeight(.semibold)
|
||||
} else {
|
||||
Spacer()
|
||||
Button { bearbeiten = true } label: {
|
||||
Label("Bearbeiten", systemImage: "slider.horizontal.3")
|
||||
}
|
||||
}
|
||||
} label: {
|
||||
Label("Dashboards", systemImage: "rectangle.stack")
|
||||
}
|
||||
Spacer()
|
||||
Button("Fertig") { bearbeiten = false }
|
||||
} else {
|
||||
Spacer()
|
||||
Button { bearbeiten = true } label: {
|
||||
Label("Bearbeiten", systemImage: "slider.horizontal.3")
|
||||
}
|
||||
.padding(.horizontal)
|
||||
.padding(.vertical, 10)
|
||||
}
|
||||
.background(.bar)
|
||||
}
|
||||
|
||||
private func titel(_ karte: AppCard) -> String {
|
||||
|
||||
Reference in New Issue
Block a user