Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 显示EditText(在键盘下编辑文本)SwiftUI的键盘后视图不滚动_Ios_Swift_Swiftui_Scrollview_Textfield - Fatal编程技术网

Ios 显示EditText(在键盘下编辑文本)SwiftUI的键盘后视图不滚动

Ios 显示EditText(在键盘下编辑文本)SwiftUI的键盘后视图不滚动,ios,swift,swiftui,scrollview,textfield,Ios,Swift,Swiftui,Scrollview,Textfield,我在滚动视图中有TextEditor当键盘显示编辑输入时,它会在滚动视图的底部添加正确的填充,但不会在视图的可见部分滚动TextEditor。 当我使用TextField而不是TextEditor时,填充和自动滚动效果很好,但我的应用程序中需要TextEditor(多行TextField) ScrollView(.vertical, showsIndicators: true) { ScrollViewReader { proxy in V

我在滚动视图中有TextEditor当键盘显示编辑输入时,它会在滚动视图的底部添加正确的填充,但不会在视图的可见部分滚动TextEditor。 当我使用TextField而不是TextEditor时,填充和自动滚动效果很好,但我的应用程序中需要TextEditor(多行TextField)

ScrollView(.vertical, showsIndicators: true) {
            ScrollViewReader { proxy in
                VStack(spacing: 0) {
                    AddActivityButtonStack()
                
                    Text("Duration")
                        .frame(minWidth: 0, maxWidth: .infinity, minHeight: 45, idealHeight: 45, maxHeight: 45, alignment: .leading)
                        .padding(.leading)
                        .padding(.trailing)
                        .padding(.top, 20)
                    
                    DurationPickerTextField(placeHolder: "", duration: $selectedTime)
                        .frame(height: 45, alignment: .center)
                        .padding(.leading)
                        .padding(.trailing)
                    
                    Text("Date")
                        .frame(minWidth: 0, maxWidth: .infinity, minHeight: 45, idealHeight: 45, maxHeight: 45, alignment: .leading)
                        .padding(.top)
                        .padding(.leading)
                        .padding(.trailing)
                    
                    DatePickerTextField(placeHolder: "", date: $selectedDate)
                        .frame(height: 45, alignment: .center)
                        .padding(.leading)
                        .padding(.trailing)
                    
                    HStack {
                        Group {
                            Button(action: {
                                print("Hypo Event")
                            }, label: {
                                Text("Hypo Event")
                            })
                            
                            Button(action: {
                                print("Hypo Event")
                            }, label: {
                                Text("Hypo Event")
                            })
                            
                            Button(action: {
                                print("Hypo Event")
                            }, label: {
                                Text("Hypo Event")
                            })
                            
                        }
                        .foregroundColor(Color.white)
                        .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: .center)
                        .background(Color.red)
                        .cornerRadius(20)
                    }
                    .frame(height: 40)
                    .padding(.leading)
                    .padding(.trailing)
                    .padding(.top)
                        
                    // Scrolling and padding works fine for textfiled
                    TextField(
                        "User name (email address)",
                        text: $username
                    )
                    
                    // padding is correct but does not scroll automatically when the keyboard shows
                    TextEditor(text: $description)
              
                    
                }
                .padding(.top, 20)
                .padding(.bottom, 20)
            }
        }

一个最小的可复制示例非常好,这样我们就可以对其进行测试,并确保我们为您提供了正确的答案: