Macos Mac与iOS'的等价物是什么;s CALayer“;willMoveToSuperview“;?

Macos Mac与iOS'的等价物是什么;s CALayer“;willMoveToSuperview“;?,macos,uikit,core-animation,calayer,appkit,Macos,Uikit,Core Animation,Calayer,Appkit,我一直在iOS上看到这个调用,这使得将一些酷炫的内核信息移植到Mac非常困难,因为我不知道下面是为了什么 -(void)willMoveToSuperview:(UIView *)newSuperview { TwUI(Twitter的macgui框架)在其TUIView类中有一个类似/相同的方法,-(void)willMoveToSuperview:(TUIView*)newSuperview{},这是一种创建@interface TUIView:tuireponder子类的新实例的方法。这

我一直在iOS上看到这个调用,这使得将一些酷炫的内核信息移植到Mac非常困难,因为我不知道下面是为了什么

-(void)willMoveToSuperview:(UIView *)newSuperview {
TwUI(Twitter的macgui框架)在其
TUIView
类中有一个类似/相同的方法,
-(void)willMoveToSuperview:(TUIView*)newSuperview{}
,这是一种创建
@interface TUIView:tuireponder
子类的新实例的方法。这使我相信这是一个创建
NSResponder
新实例的一般调用,我承认这是我最不了解的Cocoa模式之一……我有点认为这可能只是一个卸载视图、加载新视图或更改视图继承权的调用。。但还是不确定


不管怎样……由于AppKit/UIKit之间的视图控制器结构存在根本性差异,Mac端是否有一个直接的/等效的调用,或者这是一个不同的beast?

您可以覆盖自定义NSView子类中的
-[NSView viewWillMoveToSuperview:
。这只是当类在视图层次结构中的位置即将更改时通知类的一种方法。除了它的名字所暗示的含义之外,它没有更深层的含义,但是你当然可以利用它来服务于各种目的。它不是委托或视图控制器上的方法,但如果需要,您可以自己实现这种委托


此外,如果您的代码正在视图层次结构中移动视图,那么它可以直接执行它想立即执行的任何操作,这也是调用此类方法的大致时间。

您可以在自定义NSView子类中重写
-[NSView-WillMoveToSuperView::
。这只是当类在视图层次结构中的位置即将更改时通知类的一种方法。除了它的名字所暗示的含义之外,它没有更深层的含义,但是你当然可以利用它来服务于各种目的。它不是委托或视图控制器上的方法,但如果需要,您可以自己实现这种委托

此外,如果您的代码在视图层次结构中移动视图,那么它可以直接执行它想立即执行的任何操作,这也是调用此类方法的大致时间