移动NSView时如何接收通知

时间:2016-10-03 15:28:33

标签: macos user-interface nsview

移动NSView时如何接收通知/回调 - 或者移动NSViewController时。

我看到有NSWindow(NSWindowDidMoveNotification)的方法,但我无法找到如何用NSView或NSViewController处理它。

据我所知,NSView有一个NSWindow,而且这是一个具有坐标的东西。但是我不确定如何将这个NSWindow子类化以覆盖move方法。

1 个答案:

答案 0 :(得分:2)

我发现了。像这样添加一个观察者:

[[NSNotificationCenter defaultCenter] addObserver:self
                                            selector:@selector(frameDidChange:)
                                                name:NSViewFrameDidChangeNotification
                                              object:self.view];

这样的选择器:

- (void)frameDidChange:(NSNotification*)notification {

   NSView* view = [notification object];

   ...
}