1
Mail.app在激活時滑動的左下角有一個小活動窗格。我注意到它在動畫期間重新定義了它上面的源列表(滾動條同時調整大小)。在OS X中設置動畫視圖大小
這怎麼能實現?我還沒有找到一種內置的方式來動畫視圖框架,就像你可以做的一樣。
Mail.app在激活時滑動的左下角有一個小活動窗格。我注意到它在動畫期間重新定義了它上面的源列表(滾動條同時調整大小)。在OS X中設置動畫視圖大小
這怎麼能實現?我還沒有找到一種內置的方式來動畫視圖框架,就像你可以做的一樣。
您可以使用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
});
}
});