2013-08-28 117 views
0

隨着iOS(Monotouch)的更新爲6,選擇是否旋轉的方法不再僅僅依賴於ViewController。
使用GetSupportedInterfaceOrientations和ShouldAutorotate作爲現在這樣做的方法,有必要控制RootViewController。否則,本地覆蓋方法值將被忽略。
在Objective C中做這件事,甚至是直接MonoTouch是非常直接的,但MVVMCross似乎處理後臺的ViewControllers的大部分推送和彈出,我無法獲得這些方法來使用MVVMCross。MVVMCross iOS支持的方向

是否有某種方法可以正確控制MVVMCross和iOS6的方向,還是僅僅不被支持?

回答

1

MvvmCross通過一個稱爲演示者的組件推動並彈出視圖控制器。這是提供RootController並幫助其與子項進行交互的原因。

在App Setup.cs過程中定製並覆蓋演示者很容易 - 您可以在protected override IMvxTouchViewPresenter CreatePresenter()中實現並返回自定義演示者。

對於這方面的一些例子,見http://slodge.blogspot.co.uk/2013/06/presenter-roundup.html

+0

所以默認MVX的iOS主持人不支持旋轉。這似乎很奇怪。 – cdbitesky

+0

默認演示者確實支持旋轉 - 它提供了一個默認的UINavigationController - 默認情況下完全支持旋轉。您可以自由地將Apple和Mvx的默認行爲視爲「奇怪」 - 幸運的是,使用您自己對正常性的首選解釋來定製默認行爲非常容易。 – Stuart

+0

iOS的唯一mvx示例我已經看到所有支持iOS 5形式的旋轉,因此已被棄用。較新的方法從6開始都依賴於ViewController堆棧來推動定向掩模。演示者的默認行爲或者沒有考慮到這一點,或者以某種方式被阻止。您是否嘗試製作針對iOS 6的新應用程序? – cdbitesky