Mail.app在左下角有一个小活动窗格,在激活时会滑入。我注意到它在动画期间重新标注了它上面的源列表(滚动条同时调整大小)。
如何实现?我没有找到一种内置的方式来为视图框设置动画,就像你可以为windows做的那样。
答案 0 :(得分:2)
您可以使用核心动画。此处显示了使用Core Animation更改帧的示例:http://www.macresearch.org/tutorial-intro-core-animation
您还可以使用NSViewAnimation来制作动画,如下所示:http://www.cocoadev.com/index.pl?AnimatedNSSplitView
第三种方法是使用GCD自己做:
CGFloat duration = 2; //animation duration (seconds)
int N = 100; //animation fineness
CGFloat dt = duration/N; //time change
dispatch_async(dispatch_get_global_queue(0,0), ^{
for (int i = 1; i <= N; i++)
{
NSDate *future = [NSDate dateWithTimeIntervalSinceNow:dt];
[NSThread sleepUntilDate:future];
//calculate your new frame/splitview setup
dispatch_async(dispatch_get_main_queue(), ^{
//apply the new frame/splitview setup
});
}
});