在iOS键盘上处理标记的文本
根据, 标记文本是多级文本输入的一部分,表示 用户尚未确认的临时插入文本。它是 以独特的方式设计的。标记文本的范围始终包含 其中包含选定文本的范围,可能是 字符或插入符号 在章节中,图5-2显示了标记文本的内容: 给出第4张和第6张图像,键盘上的顶部栏显示标记的文本,如“修", "修改", "修身", 等等 我困惑的是如何:在iOS键盘上处理标记的文本,ios,objective-c,uitextview,uitextviewdelegate,uitextinput,Ios,Objective C,Uitextview,Uitextviewdelegate,Uitextinput,根据, 标记文本是多级文本输入的一部分,表示 用户尚未确认的临时插入文本。它是 以独特的方式设计的。标记文本的范围始终包含 其中包含选定文本的范围,可能是 字符或插入符号 在章节中,图5-2显示了标记文本的内容: 给出第4张和第6张图像,键盘上的顶部栏显示标记的文本,如“修", "修改", "修身", 等等 我困惑的是如何: 检测用户点击标记的文本。它将替换文本 选中,或仅插入标记的文本 在工具栏上显示自定义文本。例如,[textView showMarkedText:@“hello”a索引
- 检测用户点击标记的文本。它将替换文本 选中,或仅插入标记的文本
- 在工具栏上显示自定义文本。例如,
[textView showMarkedText:@“hello”a索引:0]
谢谢。事实上,你对“标记文本”和“候选文本”有些混淆 以中文手写键盘为例,“符号”修便笺上的谎言称为“标记文字”,具有独特的风格修", "修改", "修身“,…在键盘上,您可以将它们称为“候选对象”(如果您检查键盘的视图层次结构,则它们放置的栏名为“候选栏”) 有一些接口可以对标记的文本进行操作。您可以查看
UITextView
和UITextField
确认的UITextView
协议。-setMarkedText:selectedRange:
和取消标记文本将完成棘手的操作
没有可在候选栏上操作的公共API,如何在候选栏上检测点击也没有文档记录。但是如果您使用的是UITextView-textView:shouldChangeTextInRange:replacementText:
和-textViewDidChange:
协议间接检测到这一点e> (或UITextField
的对应方法,如果您正在使用它)
注:据我所知,至少中文键盘有一个例外,这有点像一个bug。当你点击中文键盘的候选栏时,你点击的文本会应用到你的UITextView
(或UITextField
)如果没有,则会触发-textView:shouldChangeTextInRange:replacementText:
。但最终将调用-textViewDidChange:
希望能有所帮助