Ios UITExtrange:选择的extrange与标记的extrange?
好的,我知道苹果的Ios UITExtrange:选择的extrange与标记的extrange?,ios,objective-c,protocols,uitextinput,uitextrange,Ios,Objective C,Protocols,Uitextinput,Uitextrange,好的,我知道苹果的uitedrange协议需要两个uitedrange属性selectedtemrange和markedtemrange,文档说selectedtemrange是markedtemrange的子范围,这是用户yatta yatta未确认的文本范围。关于如何以不同的方式实现这两个文本范围,我仍然没有弄清楚一些事情。有人能直观地向我解释一下selectedtemtrange和markedtemtrange之间的区别吗?我知道当selectedtemtrange的长度为0时,它表示在s
uitedrange
协议需要两个uitedrange
属性selectedtemrange
和markedtemrange
,文档说selectedtemrange
是markedtemrange
的子范围,这是用户yatta yatta未确认的文本范围。关于如何以不同的方式实现这两个文本范围,我仍然没有弄清楚一些事情。有人能直观地向我解释一下selectedtemtrange
和markedtemtrange
之间的区别吗?我知道当selectedtemtrange
的长度
为0
时,它表示在selectedtemtrange
的位置有一个闪烁的插入符号。但“标记文本”到底是什么??我在iOS中只看到了以下文本视图:
已选择扩展项
“>
我假设它代表当前的selectedTextRange
。markedTextRange
是什么样子的?或者它基本上是一样的吗?我很困惑:(提前感谢您的帮助!文档证明了它对我理解如何实现UITExtrange
协议毫无用处
编辑
实现
markedextrange
是否与视图中的某些文本可能是“可标记的”,但却是“只读的”和selectedextrange
表示“已标记文本”中的子范围,即readwrite有任何关系?来自苹果文档中的uitedextrange
:
标记文本是多级文本输入的一部分,临时表示
用户尚未确认的插入文本。它采用独特的样式
方式。标记文本的范围内始终包含选定文本的范围
文本,可能是一系列字符或插入符号
因此,markedTextRange
对于需要多级输入的语言非常有用,例如日语。
简单地说:在将用户类型添加到文本输入控件的值之前,哪些用户类型尚待确认是WAREmarkedTextRange
进入游戏。下面的GIF演示了markedTextRange
:
请注意未经确认的象形文字后面有轻微的蓝宝石背景。一旦文本被确认,在标记的文本添加到输入控制值并删除背景后,点击回车、从建议中选择选项或用手指点击文本区域
注意事项:
- markedTextRange与只读文本无关
- 我无法在MarkedExtange中实现多个符号选择
-(BOOL)textField:(UITextField*)tf shouldChangeCharactersRange:(NSRange)r replacementString:(NSString*)s{返回[tf.text stringbyreplacingcharactersRange:r with string:s]长度,我的意思是,我仍然可以使用完成<代码>弹出< /代码>粘贴到键盘的顶部,但这似乎是一种解决办法……还是我忽略了这个?……@ IGREK考虑总是返回true,在代码< > TeXField.MauldTdExange!= nIL< /Cord>