WatchOS SwiftUI在导航栏下隐藏按钮,而不是上下文菜单
SwiftUI,WatchOS 7不再有联系人菜单。 我想在手表屏幕的导航栏下隐藏一个排序列表按钮。我的屏幕目前只是一个简单的转盘列表,我希望能够通过设置用户默认值按日期或名称对列表进行排序,然后重新加载列表WatchOS SwiftUI在导航栏下隐藏按钮,而不是上下文菜单,swiftui,watchos-7,Swiftui,Watchos 7,SwiftUI,WatchOS 7不再有联系人菜单。 我想在手表屏幕的导航栏下隐藏一个排序列表按钮。我的屏幕目前只是一个简单的转盘列表,我希望能够通过设置用户默认值按日期或名称对列表进行排序,然后重新加载列表 NavigationView { List { Button { if UserDefaults.standard.integer(forKey: "sortBy") ==
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作为名为sortedus的数组。起初我想知道如何隐藏按钮。此外,当按下按钮时,使按钮稍微从列表中删除,并像邮件应用程序一样固定在屏幕顶部。谢谢