好的,所以我知道Apple的UITextInput
协议需要两个UITextRange
属性selectedTextRange
和markedTextRange
,文档说selectedTextRange
是markedTextRange
的子范围{1}}这是用户yatta yatta的未经确认的文本范围。对于我应该如何以不同方式实现两个文本范围,这仍然没有让我明白一些事情。有人可以直观地向我解释selectedTextRange
和markedTextRange
之间的区别吗?我知道当length
的{{1}}为selectedTextRange
时,它表示0
selectedTextRange
处的符号闪烁。但到底是什么“标记文字”?我在iOS中只看到以下文本视图:
我假设代表当前的location
。 selectedTextRange
看起来像什么?或者它基本上是完全相同的东西?我很困惑:(提前感谢您的帮助!文档证明了我对如何实现markedTextRange
协议的理解无用。
修改
实施UITextInput
是否与视图中的某些文字可以“标记”但“只读”并且markedTextRange
表示“标记文本”中的子范围selectedTextRange
这一事实有关。{{ 1}},那是readwrite?
答案 0 :(得分:9)
来自UITextInput
的Apple文档:
标记文本是多级文本输入的一部分,暂时表示 插入的文本,用户尚未确认。它风格独特 办法。标记文本的范围始终包含一系列选定的文本 文本,可能是一系列字符或插入符号。
因此markedTextRange
对需要多级输入的语言非常有用,例如日本。
简单来说:在将{I}加入到文本输入控件的值之前,尚未确认的用户类型是markedTextRange
进入游戏。 GIF轰鸣声展示markedTextRange
在行动:
注意未经证实的象形文字背后的轻微蓝宝石背景。通过点击进入/返回确认文本,从标记文本添加到输入控件值并删除背景后,从建议中选择选项或手指点击文本区域。
备注:强>