5

我正在实现一个自定义文本输入视图,它采用UITextInput协议,使用时UITextView,双击一个单词使该单词被选中,我想知道如何UITextInput使用它的标记器来标记字符串,现在我没有看到有或没有分配的任何区别UITextInput 通过覆盖[UITextInput -tokenizer]方法的标记器。

4

1 回答 1

2

它用于诸如键盘导航之类的事情(当您连接了硬件键盘时)。例如,按住 Option 并使用箭头键在单词之间导航,转到行首/行尾。

来自 Apple 的 iOS 文本编程指南:

标记器是确定文本位置是否在具有给定粒度的文本单元的边界内或边界的对象。当被文本输入系统查询时,分词器返回具有给定粒度的文本单元范围或具有给定粒度的文本单元的边界文本位置。当前定义的粒度是字符、单词、句子、段落、行和文档;UITextGranularity 类型的枚举常量表示这些粒度。文本单元的粒度总是参考存储或布局方向进行评估。

文本输入系统以多种方式使用分词器。例如,键盘可能需要最后一句话的上下文来确定用户试图键入的内容。或者,如果用户正在按下 Option-左箭头键(在外部键盘上),文本系统会查询标记器以查找移动到前一个单词所需的信息。

更多:https ://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/LowerLevelText-HandlingTechnologies/LowerLevelText-HandlingTechnologies.html

于 2013-11-30T05:18:09.490 回答