UITextInput:selectedTextRange与markedTextRange?

Noo*_*ath 6 protocols objective-c ios uitextinput uitextrange

好的,所以我知道Apple的UITextInput协议需要两个UITextRange属性selectedTextRange,markedTextRange并且文档说用户yatta yatta是一个未确认的文本范围selectedTextRange的子markedTextRange范围.对于我应该如何以不同方式实现两个文本范围,这仍然没有让我明白一些事情.有人能直观地向我解释selectedTextRange和之间的区别markedTextRange吗?我知道,当lengthselectedTextRange0它表明在一个闪烁的插入符selectedTextRangelocation.但到底是什么"标记文字"?我在iOS中只看到以下文本视图:

<code>selectedTextRange</code>.是什么<code>markedTextRange</code>样子的?或者它基本上是完全相同的东西?我很困惑:(提前感谢您的帮助!文档证明了我对如何实现<code>UITextInput</code>协议的理解无用.</p>

<p><strong>编辑</strong></p>

<p>实现是否<code>markedTextRange</code>与视图中的某些文本可以selectedTextRange指示"标记文本"中的子范围markedTextRange,即readwrite有关?

Kee*_*nle 10

从Apple文档中获取UITextInput:

标记文本是多级文本输入的一部分,表示用户尚未确认的临时插入文本.它以独特的方式设计.标记文本的范围始终包含一系列选定文本,可能是一系列字符或插入符号.

因此markedTextRange,对于需要多级输入的语言(例如日语)非常有用.简单来说:在将其添加到文本输入控件的值之前尚未确认的用户类型是markedTextRange进入游戏的.GIF轰鸣声演示markedTextRange了行动:

在此输入图像描述

注意未经证实的象形文字背后的轻微蓝宝石背景.一旦通过点击输入/返回确认文本,从标记文本添加到输入控件值并删除背景后,从建议中选择选项或手指点击文本区域.

笔记:

  • markedTextRange与只读文本无关
  • 我无法在markedTextRange中实现多个符号选择