The UISplitViewControllerDelegate shows a really weird behavior. Some of the delegate methods are not being called, but others are.
The following method gets called, so the delegate is set correctly.
- (BOOL)splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation
The following methods don't get called.
- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController
- (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem
Thanks a lot for your help.
I had this same problem after following a few different tutorials. It ended up that I was setting the splitViewController.delegate appropriately in one place, but I somehow I forgot to remove it somewhere else. So the delegate was set long enough for the ShouldHideViewController method to be fired, yet was set to a different (incorrect) delegate before the willHideViewController or willShowViewController methods were fired.