效果演示
百度外賣 波浪效果圖:
你需要知道的
CADisplayLink
簡單的說就是一定時器,其根本利用刷幀和屏幕頻率一樣來重繪渲染頁面.
其創(chuàng)建方式:
CADisplayLink *timer = [CADisplayLink displayLinkWithTarget:self selector:@selector(wave)];[timer addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
CAShapeLayer
CALayer
的子類,通常結(jié)合CGPath
來繪制圖形.
其創(chuàng)建方式:
CAShapeLayer *Layer = [CAShapeLayer layer];Layer.frame = self.bounds;Layer.fillColor = self.realWaveColor.CGColor;Layer...等屬性[self.view.layer addSublayer:Layer];
其優(yōu)點(diǎn)
渲染效率高渲染快速。CAShapeLayer
使用了硬件加速,繪制同一圖形會比用Core Graphics
快很多。
高效使用內(nèi)存。一個CAShapeLayer
不需要像普通CALayer
一樣創(chuàng)建一個寄宿圖形,所以無論有多大,都不會占用太多的內(nèi)存。
不會被圖層邊界剪裁掉。一個CAShapeLayer
可以在邊界之外繪制。你的圖層路徑不會像在使用Core Graphics
的普通CALayer
一樣被剪裁掉。
不會出現(xiàn)像素化。當(dāng)你給CAShapeLayer
做3D變換時,它不像一個有寄宿圖的普通圖層一樣變得像素化。
三角函數(shù)
思路實(shí)現(xiàn)
UIView --> 2個CAShapeLayer --> imageView.frame.orgin.y
調(diào)整
主要代碼實(shí)現(xiàn)
最后效果:
以上就是本文的全部內(nèi)容,希望對大家開發(fā)IOS能有所幫助。如果有疑問可以留言討論。
新聞熱點(diǎn)
疑難解答
圖片精選