I’ve decided to switch to constraints and face up with animation problems. In autoresizing mask
world everything works fine. UIView
is attached to right top. Content inside use autoresizing mask
.
Animate code:
UIView.animate(withDuration: 0.3, delay: 0, options: [.curveEaseInOut]) {
self.constraints.first(where: {$0.firstAttribute == .height})?.constant = dstSize.height
self.constraints.first(where: {$0.firstAttribute == .width})?.constant = dstSize.width
self.setNeedsLayout()
self.layoutIfNeeded()
}
2
Answers
A few things:
layoutIfNeeded
call have to be inside an animation block;setNeedsLayout
is unnecessary. Have you tried to remove it?You need to move constraint’s change outside the animation block
Update
In your Github attached code you need to re-layout the main view not the container