小伙看你根骨奇佳,潜力无限,来学PHP伐。
因為那隻是表現上的動畫,並沒有真的修改什麼東西,跟 UIView.animateXXX 那些東西不一樣。想要保留效果,要在 addAnimation 之外再去自己設置,像這樣:
UIView.animateXXX
addAnimation
rectLayer.addAnimation(alphaAnim, forKey: "alphaAnim") rectLayer.opacity = 1
原本 rectLayer.opacity 是 0 , alphaAnim 的作用是把它漸變成 1 ,這樣設定之後就會在動畫結束後保持為 1 。
rectLayer.opacity
0
alphaAnim
1
有時候實在不好這樣做,也有下策:
alphaAnim.removedOnCompletion = false alphaAnim.fillMode = kCAFillModeForwards
讓動畫在完成後也不移除,並且停留在動畫結束的狀態。但要記住做了動畫的元素本來的設定沒有因為動畫而產生任何變化,否則就各種呵呵了。 。 。
因為那隻是表現上的動畫,並沒有真的修改什麼東西,跟
UIView.animateXXX
那些東西不一樣。想要保留效果,要在addAnimation
之外再去自己設置,像這樣:原本
rectLayer.opacity
是0
,alphaAnim
的作用是把它漸變成1
,這樣設定之後就會在動畫結束後保持為1
。有時候實在不好這樣做,也有下策:
讓動畫在完成後也不移除,並且停留在動畫結束的狀態。但要記住做了動畫的元素本來的設定沒有因為動畫而產生任何變化,否則就各種呵呵了。 。 。