图片倒影的实现

倒影

图片倒影.png

实现思路:

1.用复制图层实现,搞个UIImageView展示图片,然后复制UIImageView.

2.注意:复制图层只能复制子层,但是UIImageView只有一个主层,并没有子层,因此不能直接复制UIImageView.

3.正确做法:应该把UIImageView添加到一个UIView上,然后复制UIView的层,就能复制UIImageView.

注意:默认A控件是B控件的子控件,那么A控件的层就是B控件的层的子层。

4.但是有问题,默认UIView的层不是复制层,我们想把UIView的层变成复制层,重写+layerClass方法。

+ (Class)layerClass
{
    return [CAReplicatorLayer class];
}

5.倒影效果:就是就是把复制图片旋转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;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Core Animation Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,...
    45b645c5912e阅读 8,215评论 0 21
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,544评论 5 13
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,724评论 6 30
  • 图片折叠效果 1.如何制作图片折叠效果? `把一张图片分成两部分显示,上面一部分,下面一部分,折叠上面部分的内容。...
    Hevin_Chen阅读 3,462评论 0 1
  • 当朋友这样问我的时候,我说不出话来。 为什么这么多年的大好春光我竟然没有好好谈一场恋爱呢? 我仔细的想了想,深刻的...
    阿毛陪你度过漫长岁月阅读 1,688评论 0 1

友情链接更多精彩内容