Opción 1
float Y = 100;
float X = 200;
NSRect frame = [window frame];
frame.origin.y -= Y;
frame.size.height += Y;
frame.size.width += X;
[window setFrame:frame display:YES animate:YES];
Opción 2
float Y = 100;
float X = 200;
NSRect frame = [window frame];
frame.origin.y -= Y;
frame.size.height += Y;
frame.size.width += X;
NSDictionary *windowResize = @{
NSViewAnimationTargetKey: window,
NSViewAnimationEndFrameKey: [NSValue valueWithRect:frame]
};
NSDictionary *oldFadeOut = @{
NSViewAnimationTargetKey: nil,
NSViewAnimationEffectKey: NSViewAnimationFadeOutEffect
};
NSDictionary *newFadeIn = @{
NSViewAnimationTargetKey: nil,
NSViewAnimationEffectKey: NSViewAnimationFadeInEffect
};
NSArray *animations = @[arrayWithObjects:windowResize, newFadeIn, oldFadeOut];
NSViewAnimation *animation = [[NSViewAnimation alloc] initWithViewAnimations: animations];
[animation setAnimationBlockingMode: NSAnimationBlocking];
[animation setAnimationCurve: NSAnimationEaseIn];
[animation setDuration: 2];
[animation startAnimation];
Hola Anne, gracias por el fragmento, pero con tu solución no tengo el agradable efecto de relajación, ¿tienes una idea? – kaal101
Usar 'animate: YES' lo hace agradable y sin problemas. Por favor, aclare el _ "agradable efecto de relajación" _ que necesita. – Anne
Lo que me refiero es el * Animation Pacing * que puede ver en esta [documentación] (http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Animation_Types_Timing/Articles/Timing.html) – kaal101