Change image zoom animation to take safe area into consideration when determining image origin. Issue #1425

This commit is contained in:
Maurice Parker
2019-12-09 14:29:17 -07:00
parent 5872893293
commit 9b3793968f
2 changed files with 3 additions and 15 deletions

View File

@@ -14,7 +14,6 @@ class ImageTransition: NSObject, UIViewControllerAnimatedTransitioning {
private let duration = 0.4
var presenting = true
var originFrame: CGRect!
var maskFrame: CGRect!
var originImage: UIImage!
init(controller: ArticleViewController) {
@@ -68,22 +67,11 @@ class ImageTransition: NSObject, UIViewControllerAnimatedTransitioning {
imageView.frame = imageController.zoomedFrame
let fromView = transitionContext.view(forKey: .from)!
let windowFrame = fromView.window!.frame
fromView.removeFromSuperview()
let toView = transitionContext.view(forKey: .to)!
transitionContext.containerView.addSubview(toView)
let maskingView = UIView()
let fullMaskFrame = CGRect(x: windowFrame.minX, y: maskFrame.minY, width: windowFrame.width, height: maskFrame.height)
let path = UIBezierPath(rect: fullMaskFrame)
let maskLayer = CAShapeLayer()
maskLayer.path = path.cgPath
maskingView.layer.mask = maskLayer
maskingView.addSubview(imageView)
transitionContext.containerView.addSubview(maskingView)
transitionContext.containerView.addSubview(imageView)
UIView.animate(
withDuration: duration,