UIView's Backing CALayer Does Not Reenable Implicit Animations In Block

Originator:minhtnguyen23
Number:rdar://30041657 Date Originated:16-Jan-2017 08:41 AM
Status:Open Resolved:
Product:iOS + SDK Product Version:
Classification:Core Animation Reproducible:YES
 
Summary:
According to official documentation, the UIView class disables layer animations by default but reenables them inside animation blocks.
However, this behavior does not work as expected. In addition, actionForLayer:forKey: return NSNull (which effectively block implicit animation) both inside and outside of UIView's animation blocks.

Steps to Reproduce:
Create a UIView's animation block and modify any animatable property on the backing-layer of the view.

Expected Results:
The layer will perform an implicit animation of the property for 0.25 seconds.

Actual Results:
The layer immediately change the view's presentation of the property without any animation.

Version:
iOS 9, iOS 10, and possibly anything after 2014

Notes:
Either this is a bug or the official documentation on Core Animation must update the expected behavior (e.g: Backing-layer no longer perform implicit animation inside/outside of UIView's animation blocks

Configuration:
Xcode 8.2.1, iOS 9 / 10 Devices

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!