UISplitViewController与IOS 5.1的问题

Ale*_*lex 2 xamarin.ios uisplitviewcontroller ios5.1

我有个问题,

我正在使用Monotouch 5.2.8进行IOS 5.1编程.

但是自从IOS 5.1更新后,我的iPad配置了UISplitViewController,因此它停靠在左侧,而不是作为弹出框提供.

它适用于IOS 5.0但在5.1中我遇到了这个问题.

这是我的UISplitViewController的源代码:

splitViewController = new UISplitViewController ();
splitViewController.WeakDelegate = detailViewController;                
splitViewController.ViewControllers = new UIViewController[] {
     navigationController,
     detailViewController                   
};
Run Code Online (Sandbox Code Playgroud)

Dim*_*kos 5

来自Apple的iOS 5.1 SDK发行说明:

在5.1中,UISplitViewController类在呈现左视图时采用滑动呈现样式(以前只在Mail中看到).当通过委托方法提供的现有条形按钮项目或右视图内的滑动手势启动演示时,将使用此样式.无需额外的API采用即可获得此行为,并且所有现有API(包括委托提供的UIPopoverController实例的API)将继续像以前一样工作.如果您的应用程序无法支持该手势,请将拆分视图控制器的presentsWithGesture属性设置为NO以禁用该手势.但是,不鼓励禁用该手势,因为它的使用可在所有应用程序中保持一致的用户体验.

在这里(需要登录).

更新:

根据我对上面的理解,我们可以在iOS 5.1中亲吻主控制器再见的自动弹出式外观​​.

我看到的唯一方法是保持"旧"外观,是通过实现我们自己的UIPopoverController并利用ShouldHideViewController委托方法.值得庆幸的是,使用MonoTouch,我们可以将该方法作为UISplitViewController类中的属性使用,使事情变得更简单.

我确实得到了一个奇怪的行为.在我的Mac上使用iOS SDK 5.1,在iPad上使用iOS 5.1; 在设备上,我得到了"滑动"外观,而在模拟器上,我得到了"旧",popover外观.这是MonoTouch 5.2.4,这是最新的稳定版本.此外,它不包含PresentsWithGesture属性.我尝试通过MonoTouch.ObjCRuntime消息传递将其值设置为false,但没有运气.选择器保持返回true.所以我无法停用滑动手势.

甚至尝试创建自己的UIPopoverController并将其指定为拆分控制器中的主控器以查看发生的情况.不起作用,因为UIPopoverController不是UIViewController......

对于ObjC ,这个问题中有一些有用的信息.