我有这个应用程序使用iOS14 中为 iPad 操作系统引入的新侧边栏,但我不明白为什么它在隐藏时不记得状态
这是侧边栏结构
import SwiftUI
struct Sidebar: View {
@Environment(\.managedObjectContext) var moc
@Binding var selection : Set<NavigationItem>
var body: some View {
List(selection: $selection) {
NavigationLink(destination: AgendaView().environment(\.managedObjectContext, moc).navigationTitle("Agenda"), label: {
Label("Agenda", systemImage: "book")
})
.tag(NavigationItem.agenda)
NavigationLink(destination: Text("Subjects"), label: {
Label("Materie", systemImage: "tray.full")
})
.tag(NavigationItem.subjects)
NavigationLink(destination: Text("Calendario"), label: {
Label("Calendario", systemImage: "calendar")
})
.tag(NavigationItem.calendar)
NavigationLink(destination: SettingsView().environment(\.managedObjectContext, moc).navigationTitle("Impostazioni"), label: {
Label("Impostazioni", systemImage: "gear")
})
.tag(NavigationItem.settings)
}
.listStyle(SidebarListStyle())
}
}
Run Code Online (Sandbox Code Playgroud)
为了标记元素,我使用了一个名为 NavigationItem 的自定义结构
enum NavigationItem {
case agenda
case …Run Code Online (Sandbox Code Playgroud) 我有一个以渐变为背景的视图,我想在其上面放置另一个视图,最后一个视图内部有一个 NavigationView 但由于某种原因我无法使其具有透明背景,因此我可以展示渐变在后面。
更奇怪的是,甚至无法更改 NavigationView 的背景颜色,我已经到处查看,但似乎找不到任何允许我更改颜色或使其透明的方法
ZStack { // Global Stack for views
//Background gradient
VStack {
LinearGradient(gradient: Gradient(colors: [Color("background2"), Color(.systemBackground)]), startPoint: .top, endPoint: .bottom)
.frame(height: screenHeight/4)
Spacer()
}.background(Color(.systemBackground))
Subjects()
VStack {
HStack { // Topbar with menu-btn and profile-btn
MenuButton(show: self.$showMenu)
.disabled(self.showProfile)
Spacer()
HStack {
TodayButton(show: self.$showToday)
ProfileButton(show: self.$showProfile)
}
}
Spacer()
}
.padding()
.padding(.top, screenHeight*0.05)
}
Run Code Online (Sandbox Code Playgroud)

struct Subjects: View {
let subjects = [
Subject(id: UUID(), name: "Matematica", color: "ff06f0", grades: [3,7,6.5,5.5]), …Run Code Online (Sandbox Code Playgroud) 我正在使用 Xcode 13 的最新测试版和应用程序,iOS 14现在我面临这个奇怪的问题:我的应用程序的全局强调色工作正常,直到iOS 15更新,此时颜色现在设置为之前的默认蓝色是我的定制颜色。