2010-04-10 22 views
0

在iPhone上,當您使用-addSublayer:或-removeFromSuperlayer將子圖層添加到可見視圖的圖層時,該子圖層不應以動畫方式顯示或消失(即逐漸淡入或淡出)?我的程序使用圖層動畫(而不是視圖)。當我更改像位置或圖像內容這樣的圖層屬性時,更改會生成動畫效果(圖層的父圖層周圍出現條紋,圖層會從舊圖像漸變爲新圖像),所以我顯然正確地設置了圖層& 。但是,當我添加或刪除子圖層時,會立即發生更改;沒有動畫。動畫添加/移除iPhone上的圖層

閱讀引用,它說如果圖層可見,則子圖層應該在加法器或刪除時動畫。

我在做什麼錯?有沒有人有類似的問題,並能找到解決方案?

+0

默認情況下,未添加子圖層動畫。你是從哪裏讀到的,添加或刪除該子圖層時應該進行動畫製作? – Tom 2010-04-11 01:07:35

回答

3

如果你喜歡,你可以使用下面的CATransition淡入:

CATransition* transition = [CATransition animation]; 
transition.delegate = nil; 
transition.duration = 0.3; 
transition.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseOut]; 
transition.type = kCATransitionFade; 
[theLayer addAnimation: transition forKey: nil]; 

只要確保#import <QuartzCore/QuartzCore.h>和鏈接的框架。在添加或刪除子圖層之前調用此塊。

相關問題