我正在使用 NSScrollView 内的 NSTextView 创建一个文本编辑器,并且希望在用户插入一些文本时自动滚动 textview,以便插入的文本垂直居中在窗口(或 textview)上。我发现这个示例代码滚动到滚动视图的顶部,但不能真正理解它是如何工作的。我已经搞砸了这段代码,但我的文本视图似乎只是在没有任何逻辑的情况下上下跳跃。谁能帮我?
- (void)scrollToTop:sender;
{
NSPoint newScrollOrigin;
// assume that the scrollview is an existing variable
if ([[scrollview documentView] isFlipped]) {
newScrollOrigin=NSMakePoint(0.0,0.0);
} else {
newScrollOrigin=NSMakePoint(0.0,NSMaxY([[scrollview documentView] frame])
-NSHeight([[scrollview contentView] bounds]));
}
[[scrollview documentView] scrollPoint:newScrollOrigin];
}