gpt4 book ai didi

ios - SwiftUI - 当放置在 macOS 上的列表中时,文本字段被禁用(不可编辑)

转载 作者:行者123 更新时间:2023-12-02 04:37:16 25 4
gpt4 key购买 nike

当放置在 macOS 上的列表中时,文本字段被禁用(不可编辑)。当为 iOS 构建相同的代码并在模拟器中运行时,它会按预期工作。

这是一个错误,还是我遗漏了什么?

代码:

struct ContentView : View {

@State private var text: String = ""

var body: some View {
VStack {
List {
// TextField is not editable when this code is ran on macOS
TextField($text, placeholder: Text("Entry text"))
Text("Entered text: \(text)")
}
// TextField is editable on both macOS as well as iOS
TextField($text, placeholder: Text("Entry text"))
}
}
}

最佳答案

这是因为列表需要点击来驱动选择,而您在这里没有使用它。仅当 TextField 所在的行有选择时,它才可以在 macOS 上的列表中编辑。

如果你将代码更改为这样的内容

struct ContentView : View {
@State private var text: String = "Hello"
@State private var selection: Int? = nil
var body: some View {
VStack {
List(selection: $selection) {
ForEach(0..<5) { _ in
TextField(self.$text)
}
}
TextField($text)
}
}
}

然后运行代码,第一次单击单元格将使其被选中,第二次单击将导致文本字段接收焦点。

关于ios - SwiftUI - 当放置在 macOS 上的列表中时,文本字段被禁用(不可编辑),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56732901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com