如何在鼠标移动窗口时接收通知?

use*_*134 4 cocoa notifications nswindow

我尝试过-setFrame:display:-windowDidMove:但在移动窗口时没有发送它们。

Jus*_*Boo 5

如果您想跟踪NSWindow实时移动,默认情况下是不可能的您\xe2\x80\x99必须自己完成。NSWindow当开始拖动(移动)NSWindowWillMoveNotification或结束拖动(移动)时,可以收到通知- NSWindowDidMoveNotification

\n\n

看看这些例子,它们可以帮助您解决实时窗口移动问题:

\n\n

1. 示例:

\n\n
\n

描述: NSWindow 上非常短的类别,使窗口在拖动期间连续发布 NSWindowDidMove 通知(与 NSWindowDidResizeNotification 的行为非常相似)。使用辅助线程并且\n 可以切换行为。

\n
\n\n

下载链接

\n\n

2. 示例:

\n\n

项目下载链接

\n

  • 这种方法消耗大量CPU,我之前检查过。我使用 mouseDown: 和 mouseDragged: 消息。 (2认同)