Определить, когда окно Mac OS X изменяется или перемещается - PullRequest
5 голосов
/ 10 июня 2010

Я пишу приложение, которое должно знать, когда какое-либо окно изменяется или перемещается.Я посмотрел на уведомления, но кажется, что это не соответствует ожиданиям.

У вас есть идеи, как мне этого добиться?

Ответы [ 4 ]

4 голосов
/ 10 июня 2010

Дайте вашему окну делегата.Протокол NSWindowDelegate имеет методы windowWillResize:toSize: и windowWillMove:.

2 голосов
/ 11 июня 2010

Учитывая ваш ответ на ответ Карла, я бы предложил API доступности , который может предоставить вам доступ (и я считаю, уведомления об изменении фрейма) для всех окон, а не только для вашего приложения.

1 голос
/ 15 июня 2010

Если вы хотите размер окна / порядок, посмотрите на CGWindow.h.CGWindowListCreateDescriptionFromArray (), вероятно, то, что вы хотите.

NSWindowList () также полезно для списка окон.

0 голосов
/ 30 мая 2015

В Swift мой AppDelegate выглядел так:

func applicationDidFinishLaunching(notification: NSNotification) {
    // Set NSWindowDelegate to respond to windowWillResize
    window.delegate = self
}

func windowWillResize(sender: NSWindow, toSize frameSize: NSSize) -> NSSize {
    println(frameSize)
    return frameSize
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...