美文网首页
iOS 截屏View SnapShotView的简单使用

iOS 截屏View SnapShotView的简单使用

作者: YSH_110 | 来源:发表于2018-12-19 11:26 被阅读52次

    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

    相关文章

      网友评论

          本文标题:iOS 截屏View SnapShotView的简单使用

          本文链接:https://www.haomeiwen.com/subject/sbidkqtx.html