UITextView中的光标位置

Jos*_*hua 12 cocoa-touch objective-c uitextview

我正在寻找一种私密的方式来找到Cursor或Caret(闪烁条)的位置,UITextView最好是作为a CGPoint.

可能存在这样的问题,但它没有提供明确的方法.而且, 我不是指NSRange所选区域.

小智 20

刚刚在另一个线程中得到它:

需要iOS 3.2或更高版本.

CGPoint cursorPosition = [textview caretRectForPosition:textview.selectedTextRange.start].origin;
Run Code Online (Sandbox Code Playgroud)

在调用此方法之前,请记住检查selectedTextRange是否为nil.您还应该使用selectedTextRange.empty来检查它是否是光标位置而不是文本范围的开头.所以:

if (textview.selectedTextRange.empty) {
// get cursor position and do stuff ...
}
Run Code Online (Sandbox Code Playgroud)

UITextView中光标的像素位置