SwiftUI选择器项多行

SwiftUI选择器项多行,swiftui,swiftui-picker,Swiftui,Swiftui Picker,如何进行文本包装? 这是我的密码: struct ContentView: View { private let items: [String] = [ "OneLineLongggggggggggggggggggggggggggggggggggggggggg", "TwoLinesLonggggggggggggg\nLongggggggggggggggg", "ThreeLinesLong

如何进行文本包装? 这是我的密码:

struct ContentView: View {
    private let items: [String] = [
        "OneLineLongggggggggggggggggggggggggggggggggggggggggg",
        "TwoLinesLonggggggggggggg\nLongggggggggggggggg",
        "ThreeLinesLonggggggggggggg\nLongggggggggggggggg\nLongggggggggggggggg"
    ]
    @State private var text: String = ""
    var body: some View {
        VStack {
            Picker("Select Text", selection: self.$text) {
                ForEach(self.items, id: \.self) {
                    Text($0)
                        .tag($0)
                }
            }
            Text("select: \(self.text)")
        }
    }
}
结果如下:

如果添加fixSize,则元素会彼此重叠:

struct ContentView: View {
    private let items: [String] = [
        "OneLineLongggggggggggggggggggggggggggggggggggggggggg",
        "TwoLinesLonggggggggggggg\nLongggggggggggggggg",
        "ThreeLinesLonggggggggggggg\nLongggggggggggggggg\nLongggggggggggggggg"
    ]
    @State private var text: String = ""
    var body: some View {
        VStack {
            Picker("Select Text", selection: self.$text) {
                ForEach(self.items, id: \.self) {
                    Text($0)
                        .tag($0)
                        .fixedSize(horizontal: false, vertical: true)
                }
            }
            Text("select: \(self.text)")
        }
    }
}
结果如下:

请告诉我从哪个方向查找答案?

请在文本中使用.lineLimit(您想要的最大行数)

在这种情况下,您可以使用

 Text($0)
    .tag($0)
    .lineLimit(3)

它不起作用。有一条很长的线,这永远不起作用。我现在看到你想要在一个选择器中使用这个功能。这是不受支持的。