Xamarin.ios 在iOS+;中的MvvmCross中将导航更改为从下至上;沙马林
我使用MvvmCross和ShowViewModel在视图之间导航。它采用默认的导航行为,即从右->左滑动。我想要几个视图控制器从下到上滑动。有人能告诉我如何在MvvmCross中做到这一点吗。这些不是覆盖,而是常规视图控制器。您可以通过为导航控制器设置自定义代理来实现这一点。这可以通过在自定义ViewPresenter中重写以下方法来完成Xamarin.ios 在iOS+;中的MvvmCross中将导航更改为从下至上;沙马林,xamarin.ios,mvvmcross,Xamarin.ios,Mvvmcross,我使用MvvmCross和ShowViewModel在视图之间导航。它采用默认的导航行为,即从右->左滑动。我想要几个视图控制器从下到上滑动。有人能告诉我如何在MvvmCross中做到这一点吗。这些不是覆盖,而是常规视图控制器。您可以通过为导航控制器设置自定义代理来实现这一点。这可以通过在自定义ViewPresenter中重写以下方法来完成 protected override void OnMasterNavigationControllerCreated() { this.Maste
protected override void OnMasterNavigationControllerCreated()
{
this.MasterNavigationController.WeakDelegate = new NavigationControllerDelegate();
}
在此代理中,您可以设置过渡,例如:
public class NavigationControllerDelegate : UINavigationControllerDelegate
{
public override IUIViewControllerAnimatedTransitioning GetAnimationControllerForOperation(UINavigationController navigationController, UINavigationControllerOperation operation, UIViewController fromViewController, UIViewController toViewController)
{
if (operation == UINavigationControllerOperation.Push)
{
if (fromViewController is MenuViewController)
{
return new BottomToTopTransition();
}
...
}
}
}
BottomToTopTransition
也是一个自定义类,继承自UIViewControllerAnimatedTransitioning
。最后一步是在这个转换类中重写AnimateTransition()
,您就完成了。您可以通过为导航控制器设置自定义委托来实现这一点。这可以通过在自定义ViewPresenter中重写以下方法来完成
protected override void OnMasterNavigationControllerCreated()
{
this.MasterNavigationController.WeakDelegate = new NavigationControllerDelegate();
}
在此代理中,您可以设置过渡,例如:
public class NavigationControllerDelegate : UINavigationControllerDelegate
{
public override IUIViewControllerAnimatedTransitioning GetAnimationControllerForOperation(UINavigationController navigationController, UINavigationControllerOperation operation, UIViewController fromViewController, UIViewController toViewController)
{
if (operation == UINavigationControllerOperation.Push)
{
if (fromViewController is MenuViewController)
{
return new BottomToTopTransition();
}
...
}
}
}
BottomToTopTransition
也是一个自定义类,继承自UIViewControllerAnimatedTransitioning
。最后一步是在这个转换类中重写AnimateTransition()
,您就完成了