swiftui选择器如何隐藏上下箭头(ios16)

Wat*_*son 2 swiftui swiftui-picker

在此输入图像描述

有没有一种好方法可以隐藏选择器默认样式中的向上向下箭头。我用的是ios 16,老版本好像没有这样的箭头。

另外,是否有一个设置可以将选择器的背景设置为与图像中的日期选择器相同的样式,而无需手动设置背景和radious?

我一直在努力解决这个小功能,并尝试用谷歌搜索几个小时,但没有成功。任何想法将不胜感激

小智 5

如果您只有几个选项,建议的菜单解决方案效果很好。我在使用菜单解决方案时遇到的问题是,如果有很多选项,菜单不会像选取器那样自动滚动到当前选定的选项。

我使用的解决方案是使用 ZStack 将不透明选择器放置在自定义视图(我的“标签”)之上。将选取器上的不透明度修改器设置为 0.025 会使其在您的设备上不可见,但当您点击它时它仍然会触发。

通过这种方式,您可以获得选择器的所有本机功能(包括滚动到所选选项),并且可以使标签看起来像您想要的任何方式,而无需创建自己的自定义选择器。

这是代码:

ZStack {
   // Custom picker label
   Text("\(value)")
       .font(.title)
       .foregroundColor(.blue)
       .styleDataEntry(colorScheme: colorScheme) // a custom formatter View extension 

   // Invisible picker
   Picker("", selection: $value) {
        ForEach(0 ..< 200) { option in
            Text("\(option)").tag(option)
        }
   }
   .pickerStyle(.menu)
   .opacity(0.025)
}  
Run Code Online (Sandbox Code Playgroud)