Summary:
On iPhone Plus devices, after state restoring a split view in landscape DisplayModePrimaryHidden (i.e. the detail was made full screen using the 2 arrows display mode button), when rotating to portrait the navigation controller's pop animation is broken and cannot be fixed without restarting the app (that is no amount of rotating or changing modes repairs it).
I think the problem is caused somewhere in UISplitViewControllerClassicImpl, decodeRestorableStateWithCoder, _changeToDisplayMode: forCurrentOrientationOnly:, [UIView performWithoutAnimation:rdx];
iPads and new iPhones (X, Xr etc.) that support overlay mode do now have a call to _changeToDisplayMode during state restoration thus unaffected, it only happens on 6 Plus, 7 Plus, 8 Plus.
Please see this video displaying the broken navigation animations in portrait. Notice after rotating to portrait there is no nav pop animation.
https://youtu.be/ffK66TTykDA
Is this or dupe or would you like a sample? I can provide a sample of the Master Detail template with state restoration added.
Steps to Reproduce:
From Xcode launch a state restore enabled Master detail app (with core data) on the iPhone 8 simulator. I can provide one if necessary.
Rotate to landscape.
Add an item.
Select the item.
Tap the display mode button to take the detail full screen.
Press command+shift+h to suspend the app.
Stop it running in Xcode.
Run it again from Xcode.
It should appear exactly as left with the detail in full screen landscape.
Description
Area: UIKit
Summary: On iPhone Plus devices, after state restoring a split view in landscape DisplayModePrimaryHidden (i.e. the detail was made full screen using the 2 arrows display mode button), when rotating to portrait the navigation controller's pop animation is broken and cannot be fixed without restarting the app (that is no amount of rotating or changing modes repairs it).
I think the problem is caused somewhere in UISplitViewControllerClassicImpl, decodeRestorableStateWithCoder, _changeToDisplayMode: forCurrentOrientationOnly:, [UIView performWithoutAnimation:rdx];
iPads and new iPhones (X, Xr etc.) that support overlay mode do now have a call to _changeToDisplayMode during state restoration thus unaffected, it only happens on 6 Plus, 7 Plus, 8 Plus.
Please see this video displaying the broken navigation animations in portrait. Notice after rotating to portrait there is no nav pop animation. https://youtu.be/ffK66TTykDA
Is this or dupe or would you like a sample? I can provide a sample of the Master Detail template with state restoration added.
Steps to Reproduce:
Expected Results:
Actual Results:
Version/Build: Xcode 10.2.1 Simulator 12.2
Configuration: iPhone 8 Plus Simulator
- Product Version: 12.2 Created: 2019-05-31T11:49:18.166634 Originated: 2019-05-31T00:00:00 Open Radar Link: http://www.openradar.me/51298721