Scroll Views Can Lose Position on iPad When Switching Apps

Originator:johnbrayton
Number:rdar://37650722 Date Originated:2018-02-18
Status:Open Resolved:
Product:iOS + SDK / UIKit Product Version:11.2.5 (15D60)
Classification:Bug Reproducible:Always
 
Summary:

On an iPad when in landscape orientation, if you scroll to the bottom of a scroll view, then leave the app, then come back to the app, you will lose your scroll position. I attached a sample app demonstrating this and a video of the issue. Specific steps to reproduce are below.

I also see the behavior in some system apps including Mail, Notes, App Store, Contacts, and Files. In some cases the system app ends up scrolled all the way to the top.

The problem appears to be the result of generating an app switcher thumbnail for portrait orientation. The viewWillTransition method of the table view is called with portrait dimensions and then again with landscape dimensions. I believe the scroll view scrolls up a bit because in portrait mode the view is taller. Then when the view is rotated back to landscape mode the content offset change is not reverted.

The sample project and video uses a UITableView, but I see the issue with other UIScrollViews as well.

Steps to Reproduce:

1. Run the attached sample app on an iPad. It contains a table view with 60 rows.
2. Put the iPad in landscape orientation.
3. Scroll to the bottom of the table.
4. Press the home button to leave the app.
5. Open the app again.

Expected Results:

I would expect the table view to remain scrolled to the bottom of the list.

Actual Results:

The table view is no longer scrolled to the bottom of the list.

Configuration:

This only happens on an iPad (not an iPhone). It only happens when the app is in landscape orientation. It only happens when the app does not have a UIRequiresFullScreen Info.plist key set to YES.

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!