Xcode12.5 iPhone11模拟器软硬键盘输入双空格自动转句号 真机无此问题求解决
问题原因
该现象是iOS系统自带的输入快捷功能导致的,而非Xcode模拟器或者你的代码存在bug。系统内置的「句号快捷键」功能逻辑为:连续输入两次空格时,自动将第一个空格替换为「.」+ 空格,正好匹配你输入“5+两个空格”的操作场景。
你手上的实体iPhone没有复现,是因为你手动关闭了该输入设置,而Xcode 12.5对应的iPhone 11模拟器系统默认开启该配置,所以仅在模拟器上触发该现象。
解决方案
临时测试用方案
直接在模拟器侧关闭该功能即可:
- 打开模拟器的「设置」App
- 进入「通用」-「键盘」页面
- 关闭「"."快捷键」开关,之后再输入连续空格就不会被自动替换。
代码层面永久方案
如果你的业务场景本身不允许输入内容被自动更正(比如数字输入、验证码输入、账号输入等场景),可以直接在代码中给对应UITextField禁用自动更正属性,不受用户系统设置影响:
// 禁用自动更正,避免自动替换空格、修正输入内容 yourTextField.autocorrectionType = UITextAutocorrectionTypeNo; // 可选:如果不需要自动首字母大写也可以一并关闭 yourTextField.autocapitalizationType = UITextAutocapitalizationTypeNone;
内容的提问来源于stack exchange,提问作者vonlost
相关产品推荐
相关产品推荐

