UITextView 中的两个空格会自动插入一个 . iPhone 中的文本后(句号)
我有一个 UITextView,在其中插入逗号分隔值。但是当我插入任何文本并在其后给出两个或更多空格时。它会自动在最后一个文本后添加句号。
是手机设置的原因吗?即使是。我们该如何预防呢?
编辑要重现它..在 UITextView 中输入任何单词,然后尝试应用两个空格。它会自动在单词末尾添加句号:)
I have a UITextView where I am inserting comma separated values. but when ever I insert any text and gives two or more space after it. It automatically appends the FULL STOP after last text.
Is it due to Phone setting? Even if yes. How can we prevent it?
EDIT To reproduce it.. Enter any word in UITextView and then try to apply two spaces. It will automatically add fullstop at the end of hte word :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这是因为设置'。'键盘设置中的快捷方式。
It's because of the setting '.' shortcut in keyboard settings.
苹果将该行为描述为:“双击空格键将插入一个句点,后跟一个空格”,而这确实是一个 iOS 系统设置(设置/常规/键盘/“。”快捷方式)。
用户可以禁用该行为,但通过特定 UITextView 上的代码禁用它似乎很困难 - 请参阅 iPhone:禁用“双击空格键。”快捷方式?
Apple describes the behaviour as: "Double tapping the space bar will insert a period followed by a space", and it is indeed an iOS system setting (Settings/General/Keyboard/"." Shortcut).
The user can disable the behaviour, but disabling it by code on a specific UITextView seems difficult - see iPhone: Disable the "double-tap spacebar for ." shortcut?
上面的代码将限制用户输入多个空格。
Above code will limit user to enter more than one blank space.
你需要检查前一个和替换的字符是否都是空的,并且自己而不是iOS进行替换,才有机会获得第二个空的空间。
从处理程序返回 false 可实现以下目的:
You need to check if the previous and the replacement characters are both empty space, and do the replacement yourself instead of iOS to have a chance to get the second empty space.
Returning false from the handler achieves this: