SwiftUI,WatchOS 7不再有联系菜单。 我想在监视屏幕的导航栏下隐藏一个排序列表按钮。我的屏幕当前只是一个简单的“轮播”列表和ID,因此可以通过将用户设置为默认值,然后按日期或名称对列表进行排序,然后重新加载列表。
NavigationView {
List {
Button {
if UserDefaults.standard.integer(forKey: "sortBy") == 0 {
UserDefaults.standard.setValue(1, forKey: "sortBy")
sortTable()
} else {
UserDefaults.standard.setValue(0, forKey: "sortBy")
sortTable()
}
} label: {
HStack {
if UserDefaults.standard.integer(forKey: "sortBy") == 0 {
Spacer()
Image(systemName: "calendar.circle")
Text("Date order")
Spacer()
} else {
Spacer()
Image(systemName: "person.circle")
Text("Name order")
Spacer()
}
}
}
ForEach(sortedUsers, id: \.contactID) {
UserRow(user: $0)
}
}
}
.navigationBarTitle("APP NAME")
.navigationBarBackButtonHidden(true)
.listStyle(CarouselListStyle())
当前,该按钮出现在列表顶部,并且它的工作方式是重新加载列表。我将@state用于名为sortedUsers的数组。我想知道首先如何隐藏按钮。同样,在下拉时,使按钮与列表稍微分开,并固定在屏幕顶部,就像在邮件应用程序中一样。谢谢。