0

我如何处理视图堆栈?

我使用 MvvmCross 并且我不查找执行此操作的方法。

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

提前致谢。

4

1 回答 1

1

我认为没有直接的方法可以为您做到这一点。

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

要了解如何进行自定义演示,您可以在MvvmCross N+1 视频中观看 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);
    }
}
于 2013-08-19T09:29:57.190 回答