我们如何实现 selectionRectsForRange: from UITextInput Protocol ?有人想出这个吗?它只是非常依赖于特定的用例需求吗?或者框架中有什么东西会调用这个方法?
为了使编译器静音,当然可以删除该方法,但是返回 nil 或空 NSArray 会造成任何伤害吗?
我们如何实现 selectionRectsForRange: from UITextInput Protocol ?有人想出这个吗?它只是非常依赖于特定的用例需求吗?或者框架中有什么东西会调用这个方法?
为了使编译器静音,当然可以删除该方法,但是返回 nil 或空 NSArray 会造成任何伤害吗?
根据 WWDC12 的 session 220,这个方法被添加来支持 UITextView 的子类化,实现呈现它自己的文本。遗憾的是,他们在该会话中的示例代码不可用,很想看看它,看看我是否在我的实现中遗漏了任何东西。
它与您的实现方式非常相似,-firstRectForRange:
只是您将返回涵盖当前选择的所有矩形。
此外,您必须子类UITextSelectionRect
化(它是一个抽象类,如 UITextPosition/UITextRange),您将从该方法返回一个数组。确保正确计算containsStart
andcontainsEnd
属性,并且在您返回的所有选择矩形中只为每个返回 YES 一次。UITextView 使用这些属性来决定放置选择调整大小“桨”的位置。
返回一个空数组(或者我想是 nil )将表明 UITextView 不应该为当前选择绘制任何选择矩形。