将自定义 NSView 添加到 NSScrollView 时的通知

Notification when custom NSView has been added to a NSScrollView

根据这个问题 (),当我的自定义视图使用 IB 嵌入到 NSScrollView 中时,我可以在 awakeFromNib 方法中检测到这一点并执行所需的初始化(我必须设置一些滚动通知) .
我的问题是当通过代码将自定义视图添加到 NSScrollView 时,设置滚动视图的 documentView 属性。在这种情况下,我的自定义视图是否以任何方式通知(某些 NSView 方法被调用并且我可以覆盖)或者我必须在我的视图添加到滚动视图后显式执行初始化?

滚动视图的documentView是这个滚动视图的子视图,NSView有很多有用的方法。在章节 "Managing the View Hierarchy":

viewDidMoveToSuperview

Informs the view that its superview has changed (possibly to nil).

viewDidMoveToWindow

Informs the view that it has been added to a new view hierarchy.

当视图被添加到父视图时,viewDidMoveToSuperview 被调用。但是视图可能已经在视图内部(在 XIB 或代码中),并且可以将此超级视图添加到滚动视图。 viewDidMoveToWindow 在将视图添加到视图层次结构或从视图层次结构中删除视图时调用。