好的,我知道苹果的UITextInput协议需要两个UITextRange属性selectedTextRange和markedTextRange,文档中说selectedTextRange是markedTextRange的一个子范围,这是用户yatta的一个未加密的文本范围。对于我应该如何以不同的方式实现这两个文本范围,这仍然没有让我明白一些事情。有人能用视觉向我解释selectedTextRange和markedTextRange之间的区别吗?我知道,当length of selectedTextRange is 0时,它表示selectedTextRange's location上闪烁的插入符号。但是,到底什么是“标记文本”呢?我只在iOS中看到了文本视图中的以下内容:

我假设它表示当前的selectedTextRange。markedTextRange是什么样子的?或者基本上是完全一样的?我很困惑:(事先谢谢你的帮助!)在我对如何实现UITextInput协议的理解中,这些文档已经证明自己是无用的。
编辑
实现markedTextRange是否与视图中的某些文本可能是“可标记的”但“只读”和selectedTextRange表示“标记文本”( markedTextRange )中的子区域(即readwrite )有关?
发布于 2014-07-08 22:20:39
来自苹果的UITextInput文档
标记文本是多级文本输入的一部分,表示用户尚未确认的临时插入文本。它是以独特的方式设计的。标记文本的范围始终包含选定文本的范围,这些文本可能是字符的范围或插入符号。
因此,markedTextRange在需要多级输入的语言(例如日语)中非常有用。简单地说:哪些用户类型还有待确认,才能将其添加到文本输入控件的值中,即被markedTextRange进入游戏。下面的GIF演示了markedTextRange的动作:

注意那些未经证实的象形文字背后有轻微的蓝宝石背景。一旦文本通过点击enter/return得到确认,在将标记的文本添加到输入控件值并移除背景后,从建议中选择选项或点击文本区域。
备注:
https://stackoverflow.com/questions/24632708
复制相似问题