Paging breaks down in UIScrollView with large contentOffset
| Originator: | andy | ||
| Number: | rdar://15530028 | Date Originated: | 11/21/2013 |
| Status: | Open | Resolved: | No |
| Product: | iOS SDK | Product Version: | 7.* |
| Classification: | UI/Usability | Reproducible: | Yes |
Summary: This issue affects a UIScrollView with pagingEnabled set to YES. When the contentOffset becomes large enough, paging stops working properly. When contentOffset is smaller than some threshold, no matter the contentSize, paging works perfectly. When contentOffset passes some threshold, paging becomes sluggish. That is, rather than crisply stopping at a page boundary, it stops near the boundary and then slides to the boundary slowly. When contentOffset passes another, larger threshold, paging stops working entirely. Dragging the UIScrollView and releasing seems to yield undefined behavior and the UIScrollView rarely lands on a page boundary. Steps to Reproduce: Set up a very large UIScrollView (contentSize at least 30 million) with paging enabled. Add some indicator of where page boundaries should be (at multiples of the UIScrollView's bounds). Expected Results: Paging works perfectly no matter the current contentOffset Actual Results: For large contentOffsets, you see the behavior described above. Version: In all 7.* releases I've tried. Configuration: Happens on iPhone 5 and 5S, as well as in simulator. May happen elsewhere as well but I haven't tested. Sample code: https://www.dropbox.com/sh/ochafsc0t22whv6/Z_4Pgn5TDw
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!