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