這是解決方案,我能想出以下的安德烈N.在回答很有幫助指針在我選擇了結束TransitionFlipFromRight和TransitionFlipFromLeft在詳細報告之間滾動時。希望對其他人有用。
我已經有一個從MvxModalSupportTouchViewPresenter
public class BedfordViewPresenter : MvxModalSupportTouchViewPresenter
繼承在這一類,我添加MvxPresentationHint的特性的演示課。
private MvxPresentationHint _presentationHint;
在方法的重寫ChangePresentation上述屬性用於存儲在參數傳遞
public override void ChangePresentation (MvxPresentationHint hint)
{
_presentationHint = hint;
base.ChangePresentation (hint);
}
兩個新MvxPresentationHint類被宣佈(參見下文)
在演示者類的顯示方法被覆蓋
public override void Show(IMvxTouchView view)
{
if (_presentationHint is FlipFromRightPresentationHint) {
var viewController = view as UIViewController;
MasterNavigationController.PushControllerWithTransition (viewController, UIViewAnimationOptions.TransitionFlipFromRight);
}
else
if (_presentationHint is FlipFromLeftPresentationHint) {
var viewController = view as UIViewController;
MasterNavigationController.PushControllerWithTransition (viewController, UIViewAnimationOptions.TransitionFlipFromLeft);
}
else {
base.Show (view);
}
_presentationHint = null;
}
新類t帽子提供了擴展,一個UINavigationController與方法PushControllerWithTransition
public static class UINavigationControllerExtensions
{
public static void PushControllerWithTransition(this UINavigationController
target, UIViewController controllerToPush,
UIViewAnimationOptions transition)
{
UIView.Transition(target.View, 0.75d, transition, delegate() {
target.PushViewController(controllerToPush, false);
}, null);
}
}
創建的所有需要,現在被定義爲兩個新MvxPresentationHint類派生。這些屬於你的核心類庫項目,而不是iOS應用程序項目。
public class FlipFromLeftPresentationHint : MvxPresentationHint
{
public FlipFromLeftPresentationHint()
{
}
}
和
public class FlipFromRightPresentationHint: MvxPresentationHint
{
public FlipFromRightPresentationHint()
{
}
}
我希望這是別人試圖做類似的事情幫助
感謝您的解釋@JDibble。我正試圖創建一個從左到右的簡單滑動過渡。你知道這是否可以使用UIViewAnimationOptions? – doorman 2014-12-02 12:48:27