UITextView获取选定的文本点

时间:2011-12-30 14:23:17

标签: iphone objective-c ios uitextview

我想知道是否有办法在UITextView中获取所选文本的要点?

谢谢!

2 个答案:

答案 0 :(得分:2)

对于iOS5及更高版本:现在UITextFieldUITextView符合UITextInput协议,因此可以:)

选择插入符号之前的最后5个字符是这样的:

//Get current selected range , this example assumes is an insertion point or empty selection
UITextRange *selectedRange = [textField selectedTextRange];

NSLog("Start: %d <> End: %d", selectedRange.start, selectedRange.end);

//Calculate the new position, - for left and + for right
UITextPosition *newPosition = [textField positionFromPosition:selectedRange.start offset:-5];

//Construct a new range using the object that adopts the UITextInput, our textfield
UITextRange *newRange = [textField textRangeFromPosition:newPosition toPosition:selectedRange.start];

答案 1 :(得分:1)

是的,首先得到这样的活动选择:myTextView.selectedRange然后将其传递给此方法[myTextView firstRectForRange:range]这将为您提供第一个边界矩形(如果它是一行,则为整个选择,并且第一行上的选择区域(如果是多行)为CGRect