SwiftUI Picker使用segmented样式无法选择的问题
SwiftUI Picker使用segmented样式无法选择的问题

SwiftUI Picker使用segmented样式无法选择的问题

SwiftUI中Picker如果使用segmented或者palette样式,就无法点击Picker。

当Picker更换其他样式,则可以正常点击。

struct HomeCreatePreviewImage: View {
    @State private var num = "day"
    var body: some View {
        Picker("",selection: $num) {
            ForEach(FixedDepositEnum.allCases) { option in
                Text(option.rawValue).tag(option.rawValue)
            }
        }
        .pickerStyle(.segmented)
    }
}

经过排查发现,外层父视图存在点击手势:

// 父视图存在点击手势
Home()
    .onTapGesture {
        isFocus = false
    }

移除onTapGesture手势后,Picker的segmented样式恢复点击状态。

这可能是Picker的BUG,onTapGesture和Picker的segmented或者palette样式存在冲突。

相关文章

1、SwiftUI多选项视图组件Picker:https://fangjunyu.com/2025/01/10/swiftui%e5%a4%9a%e9%80%89%e9%a1%b9%e8%a7%86%e5%9b%be%e7%bb%84%e4%bb%b6picker/

   

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开发者。

欢迎加入我们的 微信交流群QQ交流群,交流更多精彩内容!
微信交流群二维码 QQ交流群二维码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注