UITextInput的分词器,它有什么作用?

5

我正在实现一个自定义文本输入视图,采用了 UITextInput 协议,当使用 UITextView 时,双击一个单词会使该单词被选中,我想知道 UITextInput 如何使用其分词器对字符串进行分词,在覆盖 [UITextInput -tokenizer] 方法时,目前我没有看到有或没有为 UITextInput 分配分词器的区别。

1个回答

2
它用于诸如键盘导航之类的事情(当您连接了硬件键盘时)。例如,使用选项键并使用箭头键在单词之间导航,前往行的开头/结尾。
来自苹果iOS文本编程指南:
令牌化器是确定文本位置是否在给定粒度的文本单元内或边界上的对象。当由文本输入系统查询时,标记器返回具有给定粒度的文本单元范围或给定粒度的文本单元的边界文本位置。目前定义的粒度是字符、单词、句子、段落、行和文档;UITextGranularity类型的枚举常量表示这些粒度。文本单位的粒度始终与存储或布局方向相关联。
文本输入系统以各种方式使用标记器。例如,键盘可能需要最后一个句子的内容来确定用户试图输入什么。或者,如果用户按Option-left箭头键(在外部键盘上),则文本系统会查询标记器以查找移动到上一个单词所需的信息。
更多信息:https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/LowerLevelText-HandlingTechnologies/LowerLevelText-HandlingTechnologies.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接