UISplitViewController does NOT reset cached information from its delegate
| Originator: | serieuxchat | ||
| Number: | rdar://11895552 | Date Originated: | 18-Jul-2012 |
| Status: | Open | Resolved: | |
| Product: | iPad SDK | Product Version: | 6.0 |
| Classification: | Bug | Reproducible: | Yes |
A class which uses UISplitViewController can specify whether it wants the master (left) view controller to be shown or hidden by providing a delegate. The delegate method splitViewController:shouldHideViewController:inOrientation: would then be called for various orientations. Since iOS 6.0 UISplitViewController caches the information from the delegate in UISplitViewController in order to avoid calling the delegate method many times. However, if a delegate is replaced (without destroying UISplitViewController), the cached information is not reset. The result is that the method splitViewController:shouldHideViewController:inOrientation: will NEVER be called on the new delegate. Steps to Reproduce: Create an app using UISplitViewController. Assign it a delegate. Show the split view controller. Assign a different delegate (returning a different value in its splitViewController:shouldHideViewController:inOrientation: method) Expected Results: The method splitViewController:shouldHideViewController:inOrientation: must be called on the new delegate. This was the case before iOS6.0 Actual Results: The method splitViewController:shouldHideViewController:inOrientation: is NOT called. Regression: Notes:
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!