2

请原谅我这是一个关于NSScrollView课程的相当模糊的问题。尽管已经阅读了很多内容,但我并没有真正理解它们。

我有一个NSViewController子类,它有一个xib. 在这个视图中,我加入了一个NSScrollView. IBOutlet我从视图控制器类连接一个。

这就是我感到困惑的地方。

NSScrollView documentView和 和有什么不一样clipView?当xib在滚动视图中添加时,会给出一个NSClipView. 为什么?

如果我想在 中的滚动视图中添加子视图xib,我只能将视图放入NSClipView中,NSScrollView而不是直接放入滚动视图。我还看到,当我调整它的大小时NSClipView,它会剪辑我放入的子视图,滚动条出现在滚动视图上。但是,当我运行我的应用程序时,我无法滚动。其次,当应用程序运行时,子视图不会出现。

有人能解释一下 NSScrollView 是如何工作的吗?到目前为止,我读到的所有内容都没有让我点击它。

4

1 回答 1

2

剪辑视图和滚动视图协同工作以提供滚动行为。剪辑视图执行文档视图的实际剪辑(这是您要在滚动视图中显示的视图)。

滚动/剪辑视图在很大程度上知道如何通过查询文档视图的大小来表现,因此重要的是,您必须通过(通常)在内容更改时NSView调用以这种方式正确地配置您的 -subclass 。[self setFrameSize:newSize]如果你做对了,那么它应该可以工作

但是,为了解决您面临的实际问题,我需要查看一些代码,因此如果您可以在我可以查看的简单自包含 Xcode 项目中重现该问题,那么这是最好的前进方式(但是请注意,我目前无法查看它)。

于 2014-08-06T11:01:14.237 回答