Incorrect status bar orientation and window bounds after double rotation
| Originator: | n.morev | ||
| Number: | rdar://29987613 | Date Originated: | 17-Jan-2017 10:19 AM |
| Status: | Duplicate of 29588029 (Open) | Resolved: | No |
| Product: | iOS + SDK | Product Version: | iOS 10.2 |
| Classification: | UIKit | Reproducible: | Yes |
Summary:
Status bar orientation and interface orientation and window bounds don't change on device rotation if main thread is busy processing layout caused by previous orientation change.
Steps to Reproduce:
Run the attached sample project in landscape (usleep(2ull * USEC_PER_SEC) in viewDidLayoutSubviews).
Rotate the device to portrait and then without waiting rotate back to landscape.
Expected Results:
Eventually the app UI and status bar should display correctly (the same as when the app was first started) after two device rotations.
Actual Results:
The app UI, including iOS status bar doesn't extend to the whole screen width, staying the way it would be in portrait orientation.
See the attached screenshots.
If you log current orientations to the console, the results would be following:
interfaceOrientation = 1, statusBarOrientation = 1, deviceOrientation = 3, window.bounds = {{0, 0}, {1024, 1366}}
Interface orientation and status bar orientation and window bounds do not match current device orientation.
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!