在NSScrollView中填充NSView顶部

时间:2010-11-14 04:41:26

标签: cocoa macos

我有一个NSView作为NSScrollView的文档。我希望在视图的可见部分的顶部和底部有一些填充像素,无论滚动条的位置如何(不仅仅是文档的顶部和底部,如here所述)。有关执行此操作的应用程序示例,请查看Terminal.app。无论文本的背景颜色如何,前两个可见的像素行始终是默认的背景颜色。

我知道我可以简单地绘制两个像素以下的所有内容并在文档可见矩形的顶部和底部绘制一个矩形,但这需要更改许多我没写过的复杂代码。欢迎更简单的想法!

1 个答案:

答案 0 :(得分:1)

您链接的问题的答案实际上也是解决此问题的好方法。事实上,如果您的视图不是NSTextView,我会说它更容易实现。

具体来说:使您的实际文档视图成为其他视图的子视图,在边缘周围留出空间,并使该视图成为滚动视图的文档视图。如果您的内容视图(您要填充的内容)更改了大小,请让“填充视图”观察它的帧更改并调整大小以保持填充。

2015年更新

自10.10起,内容插入已添加到NSScrollView,使我的旧答案过时。