为什么TextField不使用它';在SwiftUI下一行有多少行限制?

为什么TextField不使用它';在SwiftUI下一行有多少行限制?,swiftui,Swiftui,我有一个TextField,它的lineLimit为10,当TextField的文本长度大于它的框架时,它不再使用下一行,而是继续在同一行中键入,为什么TextField不使用它的lineLimit import SwiftUI struct ContentView: View { @State private var stringOfText: String = "Hello, world!" var body: some View {

我有一个TextField,它的lineLimit为10,当TextField的文本长度大于它的框架时,它不再使用下一行,而是继续在同一行中键入,为什么TextField不使用它的lineLimit

import SwiftUI

struct ContentView: View {
    
    @State private var stringOfText: String = "Hello, world!"
    
    var body: some View {

        TextField("", text: $stringOfText)
            .frame(width: 300, height: 200, alignment: .top)
            .background(Color.yellow)
            .multilineTextAlignment(.leading)
            .lineLimit(10)

    }
}

lineLimit
文本
的修饰符(更具体地说,它添加了一个环境属性),而不是
文本字段
。从
lineLimit
上的SwiftUI标题:

行限制适用于层次结构中的所有
文本
实例

TextField
用于单行输入。SwiftUI 2.0为多行输入引入了
文本编辑器
,默认情况下会自动换行

从TextEditor文档中:

如果要更改文本的间距或字体缩放方面,可以使用诸如lineLimit(:)、lineSpacing(:)和minimumScaleFactor(:)之类的修改器,根据空间约束配置视图显示文本的方式。例如,此处的“线间距(:)修改器”将线间距设置为5点:


TextEditor实际上是UITextView,你认为苹果公司制作它的SwiftUI版本有那么难吗?对不起,我不明白这个问题。如果你的意思是为什么它不是一个“纯”的SwiftUI表示,我的答案是很少有SwiftUI元素是可用的。很多都是UIKit、AppKit的包装版本。