NSTextView的adjustScroll方法

时间:2010-03-28 18:06:20

标签: cocoa nsview nstextview nsscrollview

我正在尝试在Cocoa文本编辑器中实现打字机滚动,使插入点在其滚动视图中保持垂直居中。

为此,我已将NSClipView子类化为scrollToPointWithoutConstraint方法,该方法将文档滚动到指定点而不调用constrainScrollPoint。这是必要的,因为对于短文档,除非我们滚动超出文档的边界,否则插入点不能居中。

到目前为止,这似乎相当简单,并且做了我想要的。当我尝试使用滚动条滚动时出现问题。如果我滚动到文档的末尾,这样滚动视图的一部分包含文档边界之外的区域,尝试向上滚动一小段增量会导致滚动视图跳转,立即夹到文档的实际边界。

我认为我可能需要继承NSTextView并覆盖adjustScroll方法;这是我的实际问题开始的地方。传递给proposedVisibleRect的{​​{1}}已调整其维度,使其位于文档的实际范围内。有没有办法可以在调用adjustScroll之前更改proposedVisibleRect的值?或者,我是否完全错了?任何建议都会在这一点上受到高度赞赏。

0 个答案:

没有答案