UISearchController restores incorrect contentInset after rotation

Originator:futuretap
Number:rdar://30100640 Date Originated:19-Jan-2017 08:13 PM
Status:Open Resolved:
Product:iOS Product Version:10.2 14C89
Classification:UI/Usability Reproducible:Always
 
Summary:
In a UITabBarController, that encloses a UINavigationController, that encloses a UITableViewController that presents a UISearchController, the contentInset of the presenting view controller is not restored correctly in case of interface rotation on a different tab.

Steps to Reproduce:
Open and run the attached sample project. The project includes two tabs: one with a search controller that is presented on tapping a bar button item, one that includes a search bar as the table view header view.

- In the first tab, open search, type a letter then dismiss the keyboard by tapping the Search key
- Switch to the second tab and do the same
- Turn to landscape
- Switch back to the first tab and close search by tapping "Cancel"

Expected Results:
- The top contentInset of the presenting view controller should be correct (height of landscape navigation bar).

Actual Results:
- The top contentInset now is too small (0) and the first table cell underlaps the navigation bar.

See also: 
rdar://30100635 UISearchController sets incorrect contentInset, scrollIndicatorInsets

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!