Это довольно простой вопрос, и я уверен, что это не сложно, но вопрос ...NSPanel преобразования с использованием NSAffineTransform
У меня есть NSpanel, которая центрируется, а затем после центрирования мне нужно сделать преобразование для перемещения окна вниз по координате Y при сохранении центрированной координаты X.
Является ли NSAffineTransform правильным способом для этого, и у кого-нибудь есть пример или идея того, что мне нужно будет сделать, чтобы переместить этот nspanel. Еще раз спасибо.
NSRect windowFrame = NSMakeRect(0, 0, 500, 100);
NSRect windowFrame2 = NSMakeRect(0, 100, 500, 150);
window = [[HUDWindow alloc] initWithContentRect:windowFrame
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[window setLevel:kCGDesktopWindowLevel + 1];
window2 = [[Mainbox alloc] initWithContentRect:windowFrame2
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
[window2 setLevel:kCGDesktopWindowLevel + 1];
[window center];
[window2 center];
^кусок кода у меня есть в моем проекте
Я вроде увидеть, где вы собираетесь с этим, но я не знаю, как бы я идти о сбросе кадра. Я поместил свой код NSRect и код выделения для классов, которые рисуют окна. Что мне нужно включить в пустоту, чтобы оба окна переместились в определенные координаты Y? Я высоко ценю ваше терпение. Я не работаю над созданием приложений для какао на рабочем столе, поскольку у меня есть вещи iphone – Kyle
Rugluds: вы не * реализуете * этот метод, вы * вызываете * этот метод. Просто отправьте сообщение «setFrame: display: animate:» в ваше окно, передав нужный кадр и параметры. Окно уже знает, как двигаться. См. Документы: http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html#//apple_ref/occ/instm/NSWindow/setFrame:display: aimate: –
Rugluds: Извините, я не был достаточно ясным. По мере того как Питер говорит, возьмите свой текущий прямоугольник кадра, а затем отредактируйте origin.y и передайте его обратно через этот метод NSWindow, например, '[window2 setFrame: modrect display: YES animate: YES];' –