ViewWillDisappear Being Called Irregularly
| Originator: | ben.frye | ||
| Number: | rdar://34186209 | Date Originated: | 8/31/2017 |
| Status: | Resolved: | ||
| Product: | iOS SDK | Product Version: | iOS 10/11 Beta 3 |
| Classification: | Reproducible: |
Summary:
BUG: When switching between multitasking to non-multitasking in an app that
has UISplitViewControllers embedded in a UITabBarController in Portrait,
the Master View of the UISplitViewControllers on other tabs get phantom
ViewWillDisappear calls. This happens even if the views were never
navigated to. This means you can get ViewWillDisappear calls without
ever receiving ViewWillAppear calls for these views.
ADDITIONAL:
1. This has been reproduced on iOS 10 and iOS 11 Beta
* Reproducing on iOS 10 is a bit trickier. You must go to the smallest multitasking size in landscape, and then sometimes it will occur in Portrait/Landscape sometimes when coming out of multitasking.
2. It is only the Master View Controller that gets the premature
ViewWillDisappear calls
3. In Landscape the problem does not manifest
4. If the SplitViewControllers use the preferredDisplayMode allVisible,
the problem does not manifest
5. If non-UISplitViewControllers are used as the other tabs, the problem
does not manifest
6. (2-5) lead me to believe it's a bug in how the Primary Popover
Steps to Reproduce:
SETUP: The root view controller is a UITabBarController. It contains, as its
children, 3 UISplitViewControllers. Each UISplitViewController contains
a MasterViewController embedded in a UINavigationController and a
DetailViewController embedded in a UINavigationController.
STR: Steps to Reproduce -
1. Open app on iPad in Portrait
2. Go into Multitasking (open a side-by-side app)
3. Shrink test app to the smallest allowable size
4. Re-expand out of Multitasking while remaining in Portrait
5. Note in the console loging showing "b" and "c" disappearing, but
never appearing.
Expected Results:
ViewWillDisappear is not called when the view is not on screen and not disappearing.
Observed Results:
The Master View of the UISplitViewControllers on other tabs get phantom ViewWillDisappear calls. This happens even if the views were never navigated to. This means you can get ViewWillDisappear calls without ever receiving ViewWillAppear calls for these views.
Version:
Reproduced on iOS 10 and iOS 11 Beta 3
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!