2

我正在使用 MvvmCross 创建 MonoTouch 应用程序。我遵循了基本教程,到目前为止一切都很好。唯一的问题是我的(初始且仅到目前为止)视图显示为顶部栏/导航栏,这是我不想要的。我可以通过调用隐藏导航栏

this.NavigationController.NavigationBarHidden = true;

在视图控制器的 ViewDidLoad 中。我宁愿不必抑制导航栏,而是根本不存在。它出现的事实表明,也许我做错了什么/继承了错误的基类?

有关我的代码的更多详细信息:

视图控制器继承自MvxBindingTouchViewController.

我的 Setup 类继承自MvxBaseTouchBindingSetup(我不会在任何地方使用 TouchDialog,所以我不会继承自MvxTouchDialogBindingSetup)。

任何帮助将不胜感激!如果我需要提供有关我的代码的更多详细信息,请告诉我。

4

1 回答 1

1

导航栏是 UINavigationController 的一部分,在默认 Presenter 中使用。

Presenter 是决定如何显示视图(UIViewController)的东西 - 是否显示在弹出窗口中,显示为模态视图,推送到导航控制器等。

如果您想自定义 Presenter - 例如使其隐藏导航栏 - 然后只需在您的 AppDelegate.cs 中找到代码的地方切换您自己的实现:

        // initialize app for single screen iPhone display
        var presenter = new MvxTouchViewPresenter(this, _window);
        var setup = new Setup(this, presenter);
        setup.Initialize();

您可以在 TwitterSearch 和 Conference 示例中看到一些自定义演示者的示例。TwitterSearch 为手机和平板电脑使用不同的演示者;Conference 使用一个知道多个选项卡的演示者,每个选项卡都包含一个 NavigationController。

还有一些关于自定义演示者的其他问题,例如MvvmCross 使用选项卡中的模态 ViewController以及为什么 MvvmCross 中的 MvxModalSupportTouchViewPresenter 仅支持一个模态视图

于 2013-02-24T16:08:04.080 回答