自定义UITextInput实现中⌥+⌦组合键行为异常问题
iOS硬件键盘⌥+⌦逐词删除功能异常
背景
- 正在开发跨平台笔记应用Lockbook,核心为从零构建的跨平台文本编辑器
- iOS端基于
UITextInput协议实现,文档、光标等渲染由Rust代码管理的MTKView负责 - 已适配多平台,iOS端文本插入、自动更正、选择等基础功能均正常工作
问题描述
在iPad或iPhone连接硬件键盘时,出现以下异常行为:
- 在句末按下⌥+⌦(Option+Backspace)组合键,未按预期执行逐词删除操作
- 首次按下组合键仅会高亮目标单词,需再次按下Backspace才会触发
deleteBackwards()方法完成删除
已尝试的排查与解决方案
- 尝试通过
UIKeyCommand自定义快捷键、重写pressesBegan方法等方式拦截处理,未找到有效解决方向 - 排查文本系统的中间调用及回复日志,未发现异常流程,未实现的
UITextInput协议函数也未被触发调用
相关信息
- 核心实现代码路径:
libs/editor/SwiftEditor/Sources/Editor/iOSMTK.swift - 提供无需安装Rust工具链的项目包用于复现问题
- 已记录文本系统调用细节的排查日志
内容的提问来源于stack exchange,提问作者Parth Mehrotra
相关产品推荐
相关产品推荐

