I have a problem,
I am programming with Monotouch 5.2.8 for IOS 5.1.
But since the IOS 5.1 update my iPad configs the UISplitViewController so it is docked on the
left side instead of presented as a popover.
It works with IOS 5.0 but in 5.1 i got this problem.
Here is the source code for my UISplitViewController:
splitViewController = new UISplitViewController ();
splitViewController.WeakDelegate = detailViewController;
splitViewController.ViewControllers = new UIViewController[] {
navigationController,
detailViewController
};
From Apple’s iOS 5.1 SDK release notes:
Here (login required).
UPDATE:
From what I understand on the above, we can kiss the automatic popover appearance of the master controller goodbye in iOS 5.1.
The only way I see is possible to keep the “old” appearance, is by implementing our own
UIPopoverControllerand taking advantage of theShouldHideViewControllerdelegate method. Thankfully with MonoTouch, we have that method available as a property in theUISplitViewControllerclass, making things a bit simpler.I do get a strange behavior though. With iOS SDK 5.1 on my Mac and iOS 5.1 on my iPad; on the device, I get the “sliding” appearance, while on the simulator I get the “old”, popover appearance. This is with MonoTouch 5.2.4, which is the latest stable version. Also, it does not contain a
PresentsWithGestureproperty. I tried setting its value to false through MonoTouch.ObjCRuntime messaging, but no luck. The selector keeps returning true. So I cannot deactivate the swipe gesture.Even tried creating my own
UIPopoverControllerand assigning it as the master in the split controller to see what happens. Doesn’t work becauseUIPopoverControlleris not aUIViewController…Some useful info in this question, for ObjC.