11
Ho bisogno di ottenere un frame/limiti di NSView relativi allo schermo. In altre parole ho bisogno che le coordinate xey siano la posizione sullo schermo e non la posizione relativa alla sua superview.Ottieni frame/limiti NSView relativi allo schermo su Mac OS X 10.6
Ho trovato la seguente soluzione basata sui commenti.
NSRect frameRelativeToWindow = [self.view
convertRect:self.view.bounds toView:nil
];
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_6
NSPoint pointRelativeToScreen = [self.view.window
convertRectToScreen:frameRelativeToWindow
].origin;
#else
NSPoint pointRelativeToScreen = [self.view.window
convertBaseToScreen:frameRelativeToWindow.origin
];
#endif
NSRect frame = self.view.frame;
frame.origin.x = pointRelativeToScreen.x;
frame.origin.y = pointRelativeToScreen.y;
convertRectToScreen è disponibile in Mac OS X v10.7 e versioni successive. Ho bisogno dell'SDK 10.6. – junglecat