【问题标题】:Picker in SwiftUI Form turns gray after selecting a valueSwiftUI 表单中的选取器在选择一个值后变为灰色
【发布时间】:2020-12-22 08:56:56
【问题描述】:

由于某种原因,在我选择一个值后,我的 SwiftUI 表单中的选择器变为灰色。

我的代码:

Form {
  Section {
    TextField("title", text: $title)
      Picker(selection: $category, label: Text("category")) {
        ForEach(0..<categories.count) { index in
            Text(categories[index]).tag(index)
      }
    }
  }
}

【问题讨论】:

  • 无法使用 Xcode 12.1 / iOS 14.1 重现。你用的是哪个环境?
  • Xcode 12.3 / iOS 14.3 也无法重现。
  • 你在真机上测试过吗?我偶尔会在模拟器上看到这个...
  • 是的,我在 iOS 14 下的 iPhone 11 上试了一下,还是遇到了同样的问题
  • MacOS 中的默认系统行为也出现在菜单中。 stackoverflow.com/questions/65771764/…备案FB8974731

标签: swift swiftui ios14


【解决方案1】:

您需要将表单包装在 NavigationView 中,原因是当您点击选择器时会弹出另一个页面,因此它需要导航视图才能返回导航。

NavigationView {
  Form {
    Section {
      TextField("title", text: $title)
        Picker(selection: $category, label: Text("category")) {
          ForEach(0..<categories.count) { index in
              Text(categories[index]).tag(index)
        }
      }
    }
  }
}

【讨论】:

  • 没用。我已经在导航视图中,当我做出选择后返回时,我的选择器仍然是灰色的。
猜你喜欢
  • 2021-12-16
  • 1970-01-01
  • 1970-01-01
  • 2019-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多