1.結果展示
2.實現思路
1.用複製圖層實現,搞個UIImageView展示圖片,然後複製UIImageView.
注意:複製圖層只能複製子層,但是UIImageView只有一個主層,並沒有子層,因此不能直接複製UIImageView
.
2.正確做法:應該把UIImageView添加到一個UIView上,然後複製UIView的層,就能複製UIImageView.
注意:默認A控件是B控件的子控件,那麼A控件的層就是B控件的層的子層。
3.但是有問題,默認UIView的層不是複製層,我們想把UIView的層變成複製層,重寫+layerClass方法。
+ (Class)layerClass
{
return [CAReplicatorLayer class];
}
4.倒影效果:就是就是把複製圖片旋轉180度,然後往下平移,最好先偏移在,在旋轉。
CAReplicatorLayer *layer = (CAReplicatorLayer *)self.v.layer;
layer.instanceCount = 2;
// 先Y軸偏移
CATransform3D transform = CATransform3DMakeTranslation(0, self.v.bounds.size.height, 0);
// 在旋轉
transform = CATransform3DRotate(transform, M_PI, 1, 0, 0);
// 設置複製層的形變
layer.instanceTransform = transform;
// 設置顏色通道偏移量,相等上一個一點偏移量,就是陰影效果
layer.instanceRedOffset = -0.1;
layer.instanceGreenOffset = -0.1;
layer.instanceBlueOffset = -0.1;
layer.instanceAlphaOffset = -0.1;