在SwiftUI中,为什么间隔符会将文本推到TextEditor框架之外?

在SwiftUI中,为什么间隔符会将文本推到TextEditor框架之外?,swiftui,Swiftui,在下面的代码中,为什么文本编辑器的框架保持在安全区域内,而文本被推到屏幕顶部、安全区域之外和文本编辑器框架之外 VStack { TextEditor(text: $myText) .frame(height: 200) .border(Color.red) Spacer() } 您必须使用.padding()来调整文本框 添加填充类似于在UITextView中添加TextContainerSet 像这样 struct TestFrameView

在下面的代码中,为什么文本编辑器的框架保持在安全区域内,而文本被推到屏幕顶部、安全区域之外和文本编辑器框架之外

VStack {
    TextEditor(text: $myText)
        .frame(height: 200)
        .border(Color.red)
    Spacer()
}

您必须使用
.padding()
来调整文本框

添加填充类似于在UITextView中添加
TextContainerSet

像这样

struct TestFrameView: View {
    
    @State private var myText: String = "Hello"
    
    var body: some View {
        VStack {
            TextEditor(text: $myText)
                .padding() //<-- here or .padding(.top, 0.1) for zero space.
                .frame(height: 200)
                .border(Color.red)
            Spacer()
        }
    }
}
struct TestFrameView:View{
@国家私有变量myText:String=“Hello”
var body:一些观点{
VStack{
文本编辑器(文本:$myText)

.padding()//这确实解决了问题,谢谢你的回答。但我仍然不明白为什么文本会被推出框架。间隔符对TextEditor框架和TextEditor内部文本的作用是否不同?@rawbee我认为这是一个50%的错误。是的,它就像TextEditor框架和文本内部一样,因为通过设置填充可以改变位置对文本的理解。