【问题标题】:Notification when custom NSView has been added to a NSScrollView将自定义 NSView 添加到 NSScrollView 时的通知
【发布时间】:2017-06-14 08:14:02
【问题描述】:

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

【问题讨论】:

    标签: nsview nsscrollview


    【解决方案1】:

    滚动视图的documentView 是该滚动视图的子视图,NSView 有很多有用的方法。在“管理视图层次结构”一章中:

    viewDidMoveToSuperview

    通知视图其父视图已更改(可能为零)。

    viewDidMoveToWindow

    通知视图它已被添加到新的视图层次结构中。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多