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