
是否有一个很好的方法来隐藏向上箭头在选择默认风格。我使用的是ios 16,似乎旧版本没有这样的箭头。
另外,是否有设置将选择器的背景设置为与图像中的数据报警器相同的样式,而无需手动设置背景和辐射?
我一直在为这个小功能而挣扎,尝试了几个小时的谷歌搜索,但没有运气。任何想法都将不胜感激。
发布于 2022-11-30 12:58:54
如果您只有几个选项,则建议的菜单解决方案工作得很好。我在菜单解决方案中遇到的问题是,如果有很多选项,菜单就不会像Picker那样自动滚动到当前选择的选项。
我使用的解决方案是使用ZStack将不透明的选择器放置在自定义视图(我的“标签”)之上。将“选择器”上的不透明修饰符设置为0.025,使其在设备上不可见,但当您点击它时,它仍然会触发。
这样,您就可以获得picker的所有本机功能(包括滚动到所选选项),并且无需创建您自己的自定义选择器,就可以使标签看起来像您想要的任何方式。
下面是代码:
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)
} https://stackoverflow.com/questions/74429642
复制相似问题