You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS16垂直轴多行TextField嵌入ScrollView后被键盘遮挡问题求助

iOS 16 多行TextField嵌入ScrollView后被键盘遮挡的问题

在iOS 16中使用axis: .vertical实现多行TextField时出现以下问题:

  • 未嵌入ScrollView时,TextField能正常随视图上移,始终保持在键盘上方
  • 嵌入ScrollView后,多行内容会被键盘遮挡,必须手动滚动才能查看最后一行

相关代码如下:

struct ContentView: View {
    @State private var text = "Lorem ipsum dolor sit amet. Nam voluptatem necessitatibus aut quis odio rem error repudiandae id aliquam perferendis et quidem quaerat et enim harum! Cum nesciunt animi rem quia vero aut omnis eligendi in ducimus eaque sit mollitia fugit est animi nesciunt. Ut exercitationem nulla qui dolor nihil ad autem vero quo internos sapiente eum dicta nihil qui exercitationem cumque et consectetur dolore. Et fugiat officiis non harum voluptas et modi repellendus ut repellat dolorem 33 eveniet quidem qui galisum veritatis. Id consequatur tenetur et eaque voluptas in assumenda delectus et fuga praesentium rem provident delectus est necessitatibus sunt quo dignissimos dolorum. Et reiciendis error et rerum eligendi qui illum error? In soluta ipsum est molestiae pariatur hic voluptas animi qui cupiditate amet."
    
    var body: some View {
        
        ScrollView {
            VStack() {
                TextField("Enter something", text: $text, axis: .vertical)
                    .textFieldStyle(RoundedBorderTextFieldStyle())
            }
        }
    }
}

推荐几个专注于SwiftUI键盘适配与输入组件的GitHub仓库:

  • KeyboardKit:提供全面的键盘交互处理能力,适配多种输入场景
  • SwiftUIX:扩展SwiftUI原生组件,优化滚动视图与输入控件的交互逻辑

**更新:**已找到解决方案,后续会发布。

内容的提问来源于stack exchange,提问作者Charles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 18:30:29