Прокрутка содержимого для отображения текущей позиции курсора в NSTextView
У меня есть объект управления NSTextView, завернутый с NSScrollView. Я хочу сделать текстовую строку в текущей позиции видимой, когда она скрыта под представлением содержимого.
Ссылаясь на картинку выше, с
NSUInteger cPosition = [[[textView1 selectedRanges] objectAtIndex:0] rangeValue].location;
[textView1 scrollRangeToVisible:NSMakeRange(0,cPosition)];
представление прокрутки прокручивает себя до положения, при котором выбранная строка (документ) будет находиться внизу представления содержимого. (Строка 11). Это не совсем то, что я хочу. Я хотел бы, чтобы представление прокрутки прокручивалось само, чтобы показывать текстовую строку в текущей позиции курсора, когда она скрыта под представлением содержимого (например, в строке 14). Как я могу улучшить свой код?
Muchos спасибо.
1 ответ
Одним из решений будет использование enumerateSubstringsInRange:options:usingBlock: метод NSString с опцией NSStringEnumerationByParagraphs и передача диапазона, содержащего вашу cPosition, в scrollRangeToVisible:. Это приведет к тому, что абзац, содержащий вашу cPosition, станет видимым.