如何检测NSWindow最大化或缩放事件?

Eag*_*edo 5 xcode cocoa objective-c

如何检测用户何时单击NSWindow上的绿色最大化或缩放(+)按钮而不使用NSWindowDidResizeNotification

我不想使用的原因NSWindowDidResizeNotification是因为当用户点击并拖动手动调整窗口大小时也会反复触发.我有一些我想要执行的代码,它应该只在用户使用左上角的绿色按钮缩放缩小窗口时触发一次,而不是在手动调整窗口大小时多次.

Tod*_*ell 11

这两个窗口委托方法可能很有用:

- windowWillUseStandardFrame:defaultFrame:
- windowShouldZoom:toFrame:
Run Code Online (Sandbox Code Playgroud)

您也可以考虑继承NSWindow并覆盖该zoom:方法.