- (void) GetClientRect
NSArray *screenArray = [NSScreen screens];
NSScreen *mainScreen = [NSScreen mainScreen];
unsigned screenCount = [screenArray count];
unsigned index = 0;
for (index; index < screenCount; index++)
{
NSScreen *screen = [screenArray objectAtIndex: index];
NSRect screenRect = [screen visibleFrame];
NSString *mString = ((mainScreen == screen) ? @"Main" : @"not-main");
NSLog(@"Screen #%d (%@) Frame: %@", index, mString, NSStringFromRect(screenRect));
}
}
Вышеуказанный метод используется для получения рамки для главного экрана. Но я хочу, чтобы метод возвращал размер экрана NSWindow, чей kCGWindowNumber был передан. Любая идея?!Как получить размер NSWindow от kCGWindowNumber?
Привет @Ken причина мне нужно получить от '' NSWindow' к CGWindowID' потому, что я пытаюсь переместить вновь созданное окно, в другое рабочее пространство (Firefox создает новое окно и дает мне «NSWindow'), возможно ли получить' kCGWindowNumber' из 'NSWindow'? Я использую этот метод для перемещения окна в другое рабочее пространство - http://stackoverflow.com/a/2368945/1828637 – Noitidart
Я думал использовать ['[NSWindow windowNumber]'] (https://developer.apple.com/library /mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/index.html#//apple_ref/occ/instp/NSWindow/windowNumber), но документы предупреждают его не то же самое число. – Noitidart
Нет документального способа получить 'CGWindowID' из' NSWindow'. Непонятно, что предупреждение '-windowNumber' действительно касается' CGWindowID' или другого номера, используемого оконным сервером. Даже если это так, это может означать, что '-windowNumber' не * всегда * равно окну' CGWindowID', потому что это отрицательно для окон вне экрана. На практике многие люди полагались на то, что для окон на экране «-windowNumber» совпадает с «CGWindowID». –