NSViewAnimation进行视图和窗口动画

cocoa专门为视图和窗口动画提供了一个NSAnimation的子类:NSViewAnimation。通过设置属性字典就可以对窗口进行大小、位置、显示隐藏等动画。

 1 //使用NSViewAnimation
 2 - (IBAction)didViewAnimateClicked:(id)sender {
 3     //获取当前窗口大小
 4     NSRect firstFrame = [[NSApp mainWindow] frame];
 5     
 6     //属性字典
 7     NSMutableDictionary *dict = [NSMutableDictionary dictionary];
 8     
 9     //设置目标对象
10     [dict setObject:[NSApp mainWindow] forKey:NSViewAnimationTargetKey];
11     
12     //设置其实大小
13     [dict setObject:[NSValue valueWithRect:firstFrame] forKey:NSViewAnimationStartFrameKey];
14     
15     firstFrame.size.width = 50;
16     firstFrame.size.height = 50;
17     
18     //设置最终大小
19     [dict setObject:[NSValue valueWithRect:firstFrame] forKey:NSViewAnimationEndFrameKey];
20     
21     //设置动画效果
22     [dict setObject:NSViewAnimationFadeOutEffect forKey:NSViewAnimationEffectKey];
23     
24     //设置动画
25     NSViewAnimation *animation = [[NSViewAnimation alloc] initWithViewAnimations:[NSArray arrayWithObject:dict]];
26     
27     //启动动画
28     [animation startAnimation];
29 }
原文地址:https://www.cnblogs.com/jsxh/p/3494091.html