UIScrollView doesn't provide zoomScale updates during bounce animation

Originator:armadsen
Number:rdar://12482760 Date Originated:10/11/12
Status:Behaves correctly Resolved:22-Oct-2012
Product:iPhone SDK Product Version:6.0
Classification:Enhancement Reproducible:Always
 
11-Oct-2012 03:56 PM Andrew R Madsen:
Summary:

-scrollViewDidZoom: is not called, nor is -zoomScale continuously updated during a UIScrollView zoom bounce animation. This makes it impossible to properly update subview layout during a zoom bounce. In particular, for a zoomable scroll view with some semi-stationary subviews (for example a header view) that scroll in one direction but not another, and don't zoom, layout breaks, and a "fly in" animation is seen during zoom bounce.

Steps to Reproduce:

1. Create a UIScrollView with one zoomable subview, and a sibling, semi-stationary, non-zoomable subview.
2. In -[UIScrollViewSubclass layoutSubviews] and/or -[UIScrollViewDelegate scrollViewDidZoom:scrollViewDidScroll:], update the layout of the non-zoomable, semi-stationary subview.
3. Zoom in past the maximum zoom scale, then release.

Expected Results:

-layoutSubviews and -scrollViewDidZoom: are continuously called during the zoom bounce just as they are during other zoom operations, and zoomScale, contentSize, etc. are updated continuously as expected.

Actual Results:

These methods are called once with final values instead of being called continuously during the animation.

Notes:

http://stackoverflow.com/questions/3993532/in-ios-4-0-why-does-uiscrollview-zoomtorectanimated-not-trigger-the-scrollvie
http://stackoverflow.com/questions/7319906/how-to-make-uiscrollview-send-scrollviewdidscroll-messages-during-animations
http://stackoverflow.com/questions/5799153/uiscrollview-not-calling-layoutsubviews-while-zooming-on-ios-4-0?lq=1

(none of these are my questions)

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!