【问题标题】:swiftui picker how to hide up down arrows (ios16)swiftui picker 如何隐藏上下箭头 (ios16)
【发布时间】:2022-11-30 21:19:19
【问题描述】:

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

还有,有没有设置把picker的背景设置成和图片中datepicker一样的样式,不用手动设置background和radious?

我一直在为这个小功能苦苦挣扎,并尝试谷歌搜索了几个小时,但没有成功。任何想法将不胜感激

【问题讨论】:

  • 您,它是具有标准外观的内置视图。你必须创造你自己的。你可以使用Menu

标签: swiftui swiftui-picker


【解决方案1】:

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

我使用的解决方案是使用 ZStack 在自定义视图(我的“标签”)之上放置一个不透明的选择器。将 Picker 上的不透明度修改器设置为 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)
}  

【讨论】:

    猜你喜欢
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 2013-10-24
    • 2017-05-12
    • 2014-02-18
    相关资源
    最近更新 更多