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

SwiftUI中List含TextField时修改@FocusState致键盘弹跳问题求助

SwiftUI切换TextField焦点时键盘弹跳问题

以下是复现该问题的最小可编译示例:

import SwiftUI

var items: [String] = ["One", "Two", "Three", "Four", "Five"]

extension String: Identifiable {
    public var id: String { self }
}

struct ContentView: View {
    
    @FocusState var focus: String?

    var body: some View {
        List {
            ForEach(items) { item in
                TextField(item, text: .constant(item))
                    .focused($focus, equals: item)
                    .onSubmit {
                        focus = "Two"
                    }
            }
        }
        .padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

键盘弹跳现象

点击列表中的任意TextField,按下回车键后,键盘会出现短暂弹跳的现象。目前无法确定该行为的成因及修复方式。

希望实现类似“提醒事项”App的效果:按下回车键时,键盘保持不动,直接将焦点切换到目标TextField上。

已向Apple提交该Bug报告。

感谢任何可行的帮助或变通方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:22:48