Cancelled UIViewPropertyAnimator animation leaves child view controller with zero safe area insets
Originator: | alx.tuerk | ||
Number: | rdar://FB8699390 | Date Originated: | 16-Sep-2020 12:00 AM |
Status: | Open | Resolved: | |
Product: | iOS SDK | Product Version: | 14.0 |
Classification: | Serious Bug | Reproducible: | Always |
Summary: - A child view controller’s view has a subview that is constrained to the safe area layout guide anchors - The child view controller’s view is added to its parent with constraints (top, left, right, bottom) - A UIViewProperty animator animates the child view’s top constraint to a constant that would make the top safe area inset in the child view 0 if the animation would complete successfully - We reverse the animation half way through - After the animation finishes the child view’s subview jumps up to the now 0 safeAreaLayoutGuide.topAnchor Steps to Reproduce: See sample project Expected Results: - The child view’s view stays in the final animation step and doesn’t jump up - The child view’s safe area insets are reevaluated after the animation completes Actual Results: - The child view’s safe area insets top is 0 - The child view’s subviews jumps up (since the safeAreaLayoutGuide is wrong) Version: iPhone 11 Simulator iOS 14.0 (18A372) Xcode 12.0 (12A7209) But this seems to have been an issue since iOS 10 https://github.com/fruitcoder/radar.apple.com/tree/main/FB8699390%20-%20UIViewPropertyAnimator%20reversed%20animation%20produces%20zero%20safe%20area%20insets
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!