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
|
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) {
|
.sheet(isPresented: $addShown) {
|
||||||
CardPickerView { neu in fuegeHinzu(neu) }
|
CardPickerView { neu in fuegeHinzu(neu) }
|
||||||
}
|
}
|
||||||
@@ -111,33 +114,41 @@ struct LocalOverview: View {
|
|||||||
.pickerStyle(.menu)
|
.pickerStyle(.menu)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ViewBuilder private var werkzeugleiste: some View {
|
private var werkzeugleiste: some View {
|
||||||
if bearbeiten {
|
VStack(spacing: 0) {
|
||||||
Button { addShown = true } label: { Label("Karte", systemImage: "plus") }
|
Divider()
|
||||||
Spacer()
|
HStack {
|
||||||
Menu {
|
if bearbeiten {
|
||||||
Button("Dashboard hinzufügen", systemImage: "plus") { neuesDashboard() }
|
Button { addShown = true } label: { Label("Karte", systemImage: "plus") }
|
||||||
if aktives != nil {
|
Spacer()
|
||||||
Button("Umbenennen", systemImage: "pencil") {
|
Menu {
|
||||||
renameText = aktives?.name ?? ""; renameShown = true
|
Button("Dashboard hinzufügen", systemImage: "plus") { neuesDashboard() }
|
||||||
}
|
if aktives != nil {
|
||||||
if config.dashboards.count > 1 {
|
Button("Umbenennen", systemImage: "pencil") {
|
||||||
Button("Dashboard löschen", systemImage: "trash", role: .destructive) {
|
renameText = aktives?.name ?? ""; renameShown = true
|
||||||
loescheDashboard()
|
}
|
||||||
|
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 {
|
private func titel(_ karte: AppCard) -> String {
|
||||||
|
|||||||
Reference in New Issue
Block a user