我正在尝试从UIPopoverController
中的所选文本的矩形显示UITextView
,如何获取所选文本CGRect
?
谢谢!
最佳答案
我认为[UITextInput selectedTextRange]
和[UITextInput caretRectForPosition:]
是您想要的。[UITextInput selectedTextRange]
返回所选字符范围[UITextInput caretRectForPosition:]
返回此输入中字符范围的CGRect
。UITextView
符合 UITextInput
(自iOS 5起),因此您可以将这些方法用于UITextView
实例。
将会是这样的。
UITextRange * selectionRange = [textView selectedTextRange];
CGRect selectionStartRect = [textView caretRectForPosition:selectionRange.start];
CGRect selectionEndRect = [textView caretRectForPosition:selectionRange.end];
CGPoint selectionCenterPoint = (CGPoint){(selectionStartRect.origin.x + selectionEndRect.origin.x)/2,(selectionStartRect.origin.y + selectionStartRect.size.height / 2)};
编辑:由于示例代码变得有点难获得,我添加了一个图像以作补充。