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

如何在iPadOS硬件键盘助手栏添加工具栏项?

iPadOS硬件键盘助手栏实现方案

你遇到的问题是因为默认的.keyboard placement在未关联文本输入焦点时,会显示为适配iPhone的全屏工具栏。要实现iA Writer那样的紧凑硬件键盘助手栏,只需将工具栏与文本输入控件的焦点状态绑定即可,这是完全基于公开API的方案:

  1. 定义焦点状态变量
    在视图中添加焦点状态,用于跟踪文本输入控件的激活状态:

    @FocusState private var isInputFocused: Bool
    
  2. 绑定焦点到文本输入控件
    将焦点变量绑定到你的TextField或TextEditor上:

    TextEditor(text: $yourContent)
        .focused($isInputFocused)
    
  3. 添加关联的键盘工具栏
    将工具栏直接附加到文本输入控件所在的视图,使用.keyboard placement组织工具栏项:

    TextEditor(text: $yourContent)
        .focused($isInputFocused)
        .toolbar {
            ToolbarItemGroup(placement: .keyboard) {
                Button("加粗") { /* 执行加粗操作 */ }
                Button("斜体") { /* 执行斜体操作 */ }
                Spacer()
                Button("完成") {
                    isInputFocused = false
                }
            }
        }
    

关键注意事项

  • 确保部署目标为iPadOS 15+,该版本对键盘工具栏的自适应显示做了优化
  • 不要将键盘工具栏添加到全局导航栏的.toolbar中,必须直接附加到文本输入控件的视图层级
  • 当文本输入控件获得焦点时,iPadOS会自动切换为紧凑的硬件键盘助手栏样式,而非全屏工具栏

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:05:00