I'm trying to animate the scale of the parent outerView
, but keep child innerView
with it's size, so that parent view transform just clips it during animation. For some reason, an inverted transform is scaling child view to bigger size.
Without inverted transform parent and child transforms equally.
@IBAction func transformAction(_ sender: Any) {
let animation = UIViewPropertyAnimator(duration: 5, curve: .linear) {
self.outerView.transform = self.outerView.transform.scaledBy(x: 1, y: 0.1)
self.innerView.transform = self.outerView.transform.inverted()
}
animation.addCompletion { _ in
self.outerView.transform = CGAffineTransform.identity
self.innerView.transform = CGAffineTransform.identity
}
animation.startAnimation()
}