我正在实现自定义文本输入视图,它采用UITextInput
协议,当使用UITextView
时,双击一个单词使该单词被选中,我想知道UITextInput
如何使用其标记化器为了对字符串进行标记化,现在我没有看到是否有任何区别,无论是否通过覆盖[UITextInput -tokenizer]
方法为UITextInput分配了一个标记生成器。
答案 0 :(得分:2)
用于键盘导航(连接硬件键盘时)。例如,在按住Option并使用箭头键的同时在单词之间导航,转到行的开头/结尾。
来自Apple的iOS文本编程指南:
标记符是确定文本位置是否为的对象 在具有给定粒度的文本单元内或边界处。 当由文本输入系统查询时,标记化器返回范围 具有给定粒度或边界文本位置的文本单元 具有给定粒度的文本单元。当前定义的粒度 是字符,单词,句子,段落,行和文档;枚举 UITextGranularity类型的常量表示这些粒度。 始终参考a评估文本单元的粒度 存储或布局方向。
文本输入系统以各种方式使用标记器。对于 例如,键盘可能需要最后一句话的价值 用于确定用户尝试键入内容的上下文。或者,如果是用户 按下Option-left箭头键(在外接键盘上), 文本系统查询tokenizer以查找所需的信息 转到上一个词。