在导航栏下而不是上下文菜单下的WatchOS SwiftUI隐藏按钮

问题描述

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的数组。我想知道首先如何隐藏按钮。同样,在下拉时,使按钮与列表稍微分开,并固定在屏幕顶部,就像在邮件应用程序中一样。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)