+[UIView performWithoutAnimation:] does not prevent animation when pushing a view controller onto a UINavigationController's stack

Originator:lithium3141
Number:rdar://19309789 Date Originated:19-Dec-2014 10:28 AM
Status:Open Resolved:
Product:iOS SDK Product Version:8.1 (12B411)
Classification:Other Bug Reproducible:Always
 
Summary:
-[UINavigationController pushViewController:animated:] includes a flag that can prevent animation when adding a new view controller to the navigation controller's stack. The resulting effect is that the view snaps into place, immediately updating the contents of the screen (including the navigation bar).

+[UIView performWithoutAnimation:] is documented to "disable a view transition animation." However, when used to wrap a block that calls -pushViewController:animated:, it does not succeed – the new view controller's view is still animated onto the UINavigationController's stack, as though the without-animation block did not exist.

Steps to Reproduce:
1. Run the attached sample app
2. Tap "Flag" and observe the lack of animation
3. Tap "Back"
4. Tap "Block"

Expected Results:
The new view controller snaps into place as it did when "Flag" was chosen.

Actual Results:
The new view controller animates into place.

Version:
iOS 8.1 (12B411)

Notes:


Configuration:
iOS 8 Simulator

Attachments:
'AnimatedPushTest.zip' was successfully uploaded.

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!