我有一个用 NSScrollView 包装的 NSTextView 控件对象。我想要做的是当文本字符串隐藏在内容视图下方时,使当前位置的文本字符串可见。
参考上图,
NSUInteger cPosition = [[[textView1 selectedRanges] objectAtIndex:0] rangeValue].location;
[textView1 scrollRangeToVisible:NSMakeRange(0,cPosition)];
滚动视图将自身滚动到一个位置,使所选字符串(文档)位于内容视图的底部。 (第11行)。这不完全是我想要的。我希望滚动视图自动滚动以显示当前光标位置的文本字符串,当它隐藏在内容视图下方时(例如,在第14行)。如何改进我的代码?
Muchos thankos。
答案 0 :(得分:1)
一种解决方案是使用NSString的enumerateSubstringsInRange:options:usingBlock:方法和NSStringEnumerationByParagraphs选项,并将包含cPosition的范围传递给scrollRangeToVisible:。这样可以使包含cPosition的段落可见。