Я пишу приложение, которое должно знать, когда какое-либо окно изменяется или перемещается.Я посмотрел на уведомления, но кажется, что это не соответствует ожиданиям.
У вас есть идеи, как мне этого добиться?
Дайте вашему окну делегата.Протокол NSWindowDelegate имеет методы windowWillResize:toSize: и windowWillMove:.
windowWillResize:toSize:
windowWillMove:
Учитывая ваш ответ на ответ Карла, я бы предложил API доступности , который может предоставить вам доступ (и я считаю, уведомления об изменении фрейма) для всех окон, а не только для вашего приложения.
Если вы хотите размер окна / порядок, посмотрите на CGWindow.h.CGWindowListCreateDescriptionFromArray (), вероятно, то, что вы хотите.
NSWindowList () также полезно для списка окон.
В 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 }