我想知道是否有办法在UITextView中获取所选文本的要点?
谢谢!
答案 0 :(得分:2)
对于iOS5及更高版本:现在UITextField
和UITextView
符合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
。