CABasicAnimation fillMode和removedOnCompletion
fillMode的作用就是決定當(dāng)前對(duì)象過了非active時(shí)間段的行為. 比如動(dòng)畫開始之前,動(dòng)畫結(jié)束之后。如果是一個(gè)動(dòng)畫CAAnimation,則需要將其removedOnCompletion設(shè)置為NO,要不然fillMode不起作用.
下面來講各個(gè)fillMode的意義?
kCAFillModeRemoved?這個(gè)是默認(rèn)值,也就是說當(dāng)動(dòng)畫開始前和動(dòng)畫結(jié)束后,動(dòng)畫對(duì)layer都沒有影響,動(dòng)畫結(jié)束后,layer會(huì)恢復(fù)到之前的狀態(tài)?
kCAFillModeForwards?當(dāng)動(dòng)畫結(jié)束后,layer會(huì)一直保持著動(dòng)畫最后的狀態(tài)?
kCAFillModeBackwards?這個(gè)和kCAFillModeForwards是相對(duì)的,就是在動(dòng)畫開始前,你只要將動(dòng)畫加入了一個(gè)layer,layer便立即進(jìn)入動(dòng)畫的初始狀態(tài)并等待動(dòng)畫開始.你可以這樣設(shè)定測(cè)試代碼,將一個(gè)動(dòng)畫加入一個(gè)layer的時(shí)候延遲5秒執(zhí)行.然后就會(huì)發(fā)現(xiàn)在動(dòng)畫沒有開始的時(shí)候,只要?jiǎng)赢嫳患尤肓薼ayer,layer便處于動(dòng)畫初始狀態(tài)?
kCAFillModeBoth?理解了上面兩個(gè),這個(gè)就很好理解了,這個(gè)其實(shí)就是上面兩個(gè)的合成.動(dòng)畫加入后開始之前,layer便處于動(dòng)畫初始狀態(tài),動(dòng)畫結(jié)束后layer保持動(dòng)畫最后的狀態(tài).
?
轉(zhuǎn)載于:https://www.cnblogs.com/sell/archive/2013/02/08/2909153.html
總結(jié)
以上是生活随笔為你收集整理的CABasicAnimation fillMode和removedOnCompletion的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 360公布营收数据:抢占企业级大模型市场
- 下一篇: 一台路由器实现电信ITV与宽带共享上网