UITextView получить выделенную текстовую точку - PullRequest
1 голос
/ 30 декабря 2011

Мне было интересно, есть ли способ получить точку выделенного текста в UITextView?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 30 декабря 2011

Для 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 голос
/ 19 февраля 2012

Да, сначала получите активный выбор следующим образом: myTextView.selectedRange, а затем передайте его этому методу [myTextView firstRectForRange:range] Это даст вам первый ограничивающий прямоугольник (который является целым выделением, если это одна строка, и областьвыделение в первой строке, если оно многострочное) как CGRect.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...