UITextInput的Tokenizer,它用于什么?

时间:2013-05-02 10:17:13

标签: iphone ios uitextinput

我正在实现自定义文本输入视图,它采用UITextInput协议,当使用UITextView时,双击一个单词使该单词被选中,我想知道UITextInput如何使用其标记化器为了对字符串进行标记化,现在我没有看到是否有任何区别,无论是否通过覆盖[UITextInput -tokenizer]方法为UITextInput分配了一个标记生成器。

1 个答案:

答案 0 :(得分:2)

用于键盘导航(连接硬件键盘时)。例如,在按住Option并使用箭头键的同时在单词之间导航,转到行的开头/结尾。

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

  

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

     

文本输入系统以各种方式使用标记器。对于   例如,键盘可能需要最后一句话的价值   用于确定用户尝试键入内容的上下文。或者,如果是用户   按下Option-left箭头键(在外接键盘上),   文本系统查询tokenizer以查找所需的信息   转到上一个词。

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