我看到很多答案只是简单地说使用 limit limit view 修饰符,但它似乎不起作用:
mport SwiftUI
struct TextEditorTest: View {
@State var text: String = "Type in here"
var body: some View {
VStack {
Text("Sample Text A")
TextEditor(text: $text)
.lineLimit(3)
Spacer()
}
}
}
struct TextEditorTest_Previews: PreviewProvider {
static var previews: some View {
TextEditorTest()
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎仍然是 iOS 17 中的一个问题。解决方法是使用Text
然后覆盖TextEditor
.
struct TextView: View {
@Binding var text: String
var fixedHorizontal: Bool = false
var fixedVertical: Bool = true
var body: some View {
Text(self.text)
.frame(maxWidth: .infinity, maxHeight: .infinity)
.hidden()
.overlay {
TextEditor(text: self.$text)
.padding(.horizontal, -5.0) // default NSTextContainer.lineFragmentPadding
.padding(.vertical, -8.0) // default UITextView.textContainerInset
}
.clipped() // Stop the TextEditor's extra lines from appearing
.fixedSize(horizontal: self.fixedHorizontal, vertical: fixedVertical)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2762 次 |
最近记录: |