Jas*_*Lee 6 objective-c uitextview uitextviewdelegate ios uitextinput
根据文件,
标记文本是多级文本输入的一部分,表示用户尚未确认的临时插入文本.它以独特的方式设计.标记文本的范围始终包含一系列选定文本,可能是一系列字符或插入符号.
在管理键盘一章中,图5-2显示了标记文本的内容:

给定第4和第6张图像,键盘上的顶栏显示标记文本,如"修","修改","修身"等.
我很困惑的是HOWTO:
[textView
showMarkedText:@"hello" atIndex:0].谢谢.
实际上,您对“标记文本”和“候选文本”有点困惑。
\n\n以中文手写键盘为例,音符上的“\xe4\xbf\xae”符号被称为“标记文本”,具有独特的风格。而键盘上的“\xe4\xbf\xae”、“\xe4\xbf\xae\xe6\x94\xb9”、“\xe4\xbf\xae\xe8\xba\xab”...称它们为“候选”(如果您检查键盘的视图层次结构,它们放置的栏被命名为“候选栏”)。
\n\n有一些接口可以对标记的文本进行操作。您可以查看已确认的UITextInput协议。和UITextViewUITextField-setMarkedText:selectedRange:-unmarkText会做一些棘手的事情。
没有公共 API 可以在候选栏上进行操作,并且如何检测对其的点击也没有记录。但是,如果您正在使用(或对应的方法),您可以通过在协议中实现-textView:shouldChangeTextInRange:replacementText:和来间接检测到这一点-textViewDidChange:UITextViewDelegateUITextViewUITextField)。
PS:至少据我所知,中文键盘有一个例外,这有点像一个错误。当您点击中文键盘的候选栏时,您点击的文本将应用到您的UITextView( 或UITextField) 上,而不会-textView:shouldChangeTextInRange:replacementText:触发。但-textViewDidChange:最终会被调用。
希望它能有所帮助。
\n| 归档时间: |
|
| 查看次数: |
1135 次 |
| 最近记录: |