Objective-C中的全屏通知

Objective-C中的全屏通知,objective-c,macos,Objective C,Macos,当应用程序进入全屏模式时是否可能收到通知?因为我必须在应用程序进入全屏时重新绘制图像,而现在我不能这样做,因为我不知道应用程序何时进入全屏 我找到了一个方法: - (void)windowDidEnterFullScreen:(NSNotification *)notification 但是我要在哪里使用它呢?因为在NSWindow类中它不工作 在窗口进入和退出全屏模式之前和之后发送以下通知: NSWindowWillEnterFullScreenNotification NSWindo

当应用程序进入全屏模式时是否可能收到通知?因为我必须在应用程序进入全屏时重新绘制图像,而现在我不能这样做,因为我不知道应用程序何时进入全屏

我找到了一个方法:

- (void)windowDidEnterFullScreen:(NSNotification *)notification 
但是我要在哪里使用它呢?因为在
NSWindow
类中它不工作

  • 在窗口进入和退出全屏模式之前和之后发送以下通知:

    NSWindowWillEnterFullScreenNotification
    
    NSWindowDidEnterFullScreenNotification
    
    NSWindowWillExitFullScreenNotification
    
    NSWindowDidExitFullScreenNotification
    
  • 在窗口进入和退出全屏模式之前和之后发送以下通知:

    NSWindowWillEnterFullScreenNotification
    
    NSWindowDidEnterFullScreenNotification
    
    NSWindowWillExitFullScreenNotification
    
    NSWindowDidExitFullScreenNotification
    

  • 您也可以使用此功能

    - (void)windowDidResize:(NSNotification *)notification{ 
    }
    

    每当窗口大小改变时,就会调用此函数

    您也可以使用此功能

    - (void)windowDidResize:(NSNotification *)notification{ 
    }
    

    每当窗口大小改变时,就会调用此函数

    有没有可能这样做:
    -(void)windowWillEnterFullScreen:(NSNotification*)notification{while(!nswindowdienterfullscreennotification){[self someMethod];}}}
    ?@hockeyman我建议不要这样做。这将阻止你进入全屏模式。在您的窗口进入全屏之前调用。如果您想要运行一个循环,那么我建议使用计时器或GCD。这取决于您的具体情况。是否可以这样做:
    -(void)windowWillEnterFullScreen:(NSNotification*)notification{while(!nswindowdienterfullscreennotification){[self someMethod];}}
    ?@hockeyman我建议不要这样做。这将阻止你进入全屏模式。在您的窗口进入全屏之前调用。如果您想要运行一个循环,那么我建议使用计时器或GCD。这取决于你的具体情况。