0

设置如下所示:

LoginView MvxViewController
   MainView MvxTabBarViewController
      -Tab 1 
         - View1 (MvxViewController)
      -Tab 2 
         - View1 (MvxViewController)
      -Tab 3 
         - View1 (MvxViewController)

在 View1 上,我有一个 Tableview(列表),总是以不同的方式填充 - 取决于选项卡。

到目前为止一切正常。我现在面临的问题是,当我在 View1 中并按下 NavigationController 上的“返回”按钮时,我将返回“LoginView”而不是“MainView”(选项卡所在的根视图)。

我找到了以下命令this.NavigationController.PopToRootViewController(true);,但没有找到正确的使用位置。(如果它是正确的方法)

我用这个项目来了解背后的想法https://github.com/slodge/MvvmCross-Tutorials/blob/master/Sample%20-%20CirriousConference/Cirrious.Conference.UI.Touch/Views/TabBarController.cs

任何帮助表示赞赏!

编辑:

我现在通过删除以下代码解决了这个问题(删除了注释部分):

public class MyPresenter : MvxModalSupportTouchViewPresenter, ITabBarPresenterHost
{
    public MyPresenter(UIApplicationDelegate applicationDelegate, UIWindow window)
        : base(applicationDelegate, window)
    {
    }

    protected override UINavigationController CreateNavigationController(UIViewController viewController)
    {
        var toReturn = base.CreateNavigationController(viewController);
        toReturn.NavigationBarHidden = false;
        return toReturn;
    }

    public ITabBarPresenter TabBarPresenter { get; set; }

    public override void Show(IMvxTouchView view)
    {
        //if (TabBarPresenter != null && view != TabBarPresenter)
        //{
        //    TabBarPresenter.ShowView(view);
        //    return;
        //}
        base.Show(view);
    }
}

我仍然不明白这段代码的目的,因为它正在制造麻烦。通过删除它,一切正常。(代码来自示例,可在此处找到:https ://github.com/slodge/MvvmCross-Tutorials/blob/0f313e3be66b06c110f587b653b9b0c831fb7164/Sample%20-%20CirriousConference/Cirrious.Conference.UI.Touch/ConferencePresenter.cs )

4

1 回答 1

1

通常,您将 CustomPresenter 用于这种类型的逻辑 - 例如,请参阅http://mvvmcross.wordpress.com中的 N=25。

您的自定义演示者可以执行以下操作:

有关自定义演示者的更多信息,请参阅https://github.com/slodge/MvvmCross/wiki/Customising-using-App-and-Setup#custom-presentershttp://slodge.blogspot.co.uk/2013/06 /presenter-roundup.html


这篇文章可能特别有用 - http://deapsquatter.blogspot.co.uk/2013/06/custom-presenter-for-uitabbarcontroller.html

于 2013-09-27T12:39:09.610 回答