如何在不使用NSWindowDidResizeNotification
的情况下检测到用户点击NSWindow上的绿色最大化或缩放(+)按钮的时间?
我不想使用NSWindowDidResizeNotification
的原因是因为当用户点击并拖动以手动调整窗口大小时,也会重复触发。我有一些我想要执行的代码,只有当用户使用左上角的绿色按钮缩放或缩小窗口时,它才会触发一次手动调整窗口大小的次数不多。
答案 0 :(得分:11)
这两个窗口委托方法可能很有用:
- windowWillUseStandardFrame:defaultFrame:
- windowShouldZoom:toFrame:
您也可以考虑继承NSWindow并覆盖zoom:
方法。
答案 1 :(得分:0)
@EagleOfToledo,基于您的问题以及您对Todd Yandell的回答,我认为您只需要这种委托方法:
夫特
optional func windowDidEndLiveResize(_ notification: NSNotification)
目标-C
- (void)windowDidEndLiveResize:(NSNotification *)notification
只有在您单击缩放按钮或手动调整大小时,才会调用此方法。