iOS 截屏View SnapShotView的简单使用

1.比如,A ImageView上有一张图片,点击B ImageVIew 把A上的图片转移到B 上面

第一步 创建A,B 和截图View
lazy var imageView = UIImageView() A
lazy var twoImageV = UIImageView()B
lazy var snapView = UIView() 截图View

把 A,B和snap添加到View上,给A添加图片

第二步 获取A的截图 :

snapshotView(afterScreenUpdates afterUpdates:Bool) ->UIView?

该方法会返回一个view,即A 的截图,Bool -> true 表示代表视图的属性改变渲染完毕后截屏,bool->false代表立刻将当前状态的视图截图
self.snapView = imageView.snapshotView(afterScreenUpdates: true)!
self.snapView.frame = self.view.convert(imageView.frame, from: view);
self.view.addSubview(self.snapView)

.convert(CGRect,from:view) 这个方法可以获取某个view上子view的frame,

上面步骤,就可以获取最简单的A imageView的截图
第三部 实现简单的uiview动画,将截图转移到B imageView 上面
UIView.animate(withDuration: 1, delay: 0, options: .curveEaseIn, animations: { self.snapView.frame = self.view.convert(self.twoImageV.frame, from: self.view) }) { (_) in self.twoImageV.image = self.imageView.image self.snapView.removeFromSuperview() }
可用场景:添加购物车,移动交换Cel,点击放大图片。。。。l

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容