为什么TextField不使用它';在SwiftUI下一行有多少行限制?
我有一个TextField,它的lineLimit为10,当TextField的文本长度大于它的框架时,它不再使用下一行,而是继续在同一行中键入,为什么TextField不使用它的lineLimit为什么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 {
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的包装版本。