【发布时间】:2012-09-25 20:09:00
【问题描述】:
我有一个带有实现 UITextInput 协议的自定义文本编辑器的应用程序。在 iOS 6 中,Apple 向协议中添加了一种新的必需方法:
- (NSArray *)selectionRectsForRange:(UITextRange *)range
我已经实现了这个,但我似乎找不到触发它的方法。至少在我的应用程序的工作方式上,它似乎永远不会被文本系统调用。有谁知道它是干什么用的?
【问题讨论】:
-
从文档来看,返回值为
An array of UITextSelectionRect objects that encompass the selection.进一步阅读UITextSelectionRect的文档:如果您正在实现自定义文本输入视图,您可以继承并使用您的自定义类来返回选择-相关信息。子类化时,您应该覆盖并重新实现所有属性。在您的自定义实现中,不要调用 super。 -
我可能已经说明了上述显而易见的内容以及您可能已经阅读过的内容,但在我看来,这是有关文本选择范围的信息,并将有关所选内容的自定义信息返回给任何要求它的人。
-
是的,但我的问题是何时调用。协议中的所有方法都由文本系统调用,用于键入和自动更正等操作。我想知道它什么时候会调用这个方法。
-
您是否尝试过选择文本并拖动以选择更多/更少的文本?添加一些日志,看看它是否在那里调用。
标签: ios cocoa-touch ios6 uitextinput