使文本字段多行 - SwiftUI

Ade*_*ony 3 xcode ios swift swiftui xcode11

我开始学习 SwiftUI,我试图使 TextField 成为多行,但它不起作用,而且当我单击返回按钮时,它会关闭键盘。

TextField("Description", text: $categoryTitle)
.lineLimit(nil)
Run Code Online (Sandbox Code Playgroud)

那么我该如何解决它呢?

Moj*_*ini 5

自 iOS 16 起

如果您选择参数值,则修改lineLimit器将按预期工作。现在它还支持:.verticalaxisrange

TextField("Title", text: $text, axis: .vertical)
    .lineLimit(5...10)
Run Code Online (Sandbox Code Playgroud)

演示


自 iOS 14 起

从 iOS 14 到 Xcode 12,它可以作为TextEditor

struct ContentView: View {
    @State var text: String = "Multiline \ntext \nis called \nTextEditor"

    var body: some View {
        TextEditor(text: $text)
    }
}
Run Code Online (Sandbox Code Playgroud)

iOS 13

另外,如果您想支持 iOS 13,您可以查看SwiftUI 内部移植的答案UITextField,并完全访问其所有属性。