MvvmCross中的控制视图堆栈

时间:2013-08-19 08:01:11

标签: mvvmcross

我如何处理视图堆栈?

我使用MvvmCross,我不想看到这样做的方式。

我有一个项目,我添加了一个自定义的SplashScreen,我想要删除视图Stack。

提前致谢。

1 个答案:

答案 0 :(得分:1)

我认为没有一种直接的方法可以帮助你。

我认为最好的方法是创建自己的自定义视图展示器,然后根据您所在的平台,您可以自定义视图堆栈。例如,在iOS中,您可以以类似于答案here的方式操作MasterNavigationController。

要了解如何使用自定义演示者,您可以在MvvmCross N+1 videos

中观看N = 24和N = 25

iOS自定义视图展示器的常规模板如下所示:

public class CustomPresenter : MvxTouchViewPresenter
{
    public CustomPresenter(UIApplicationDelegate applicationDelegate, UIWindow window)
        : base(applicationDelegate, window)
    {
    }

    public override void Close(IMvxViewModel toClose)
    {
        //your custom code on what to happen when a view model is closing
        base.Close(toClose);
    }

    public override void Show(Cirrious.MvvmCross.Touch.Views.IMvxTouchView view)
    {
        //your custom code on what to happen when a view model needs to be shown
        base.Show(view);
    }
}