我正在尝试创建一个实现 UINavigationBar 的 UITabBarController,这是我在 Xcode 中几分钟内要做的事情。但是,我正在努力将 MVVMCross 与 MonoTouch 一起使用。一些代码如下 -
从第一个 VC 开始(这是为了让用户接受条款和条件,所以一旦接受,就没有选择返回它,因此是 true 标志) -
this.RequestNavigate<TabHostViewModel>(true);
我的 tabBar 是这样设置的,效果很好 -
ViewControllers = new UIViewController[]
{
CreateTabFor("Home", "", ViewModel.homeViewModel),
CreateTabFor("History", "", ViewModel.journeyHistoryViewModel),
CreateTabFor("Contacts", "", ViewModel.contactsViewModel),
CreateTabFor("About", "", ViewModel.aboutViewModel),
};
...ETC。
我尝试在 ViewDidLoad 中设置第一个视图(在本例中为 HomeView)-
this.NavigationController.NavigationBar.TintColor = myNavBarColour;
但是,似乎 NavigationController 未定义,除非我在设置 TabBar 时创建自己的 -
UIViewController HomeViewController = CreateTabFor("Home", "", ViewModel.homeViewModel);
UINavigationController HomeNavController = new UINavigationController(HomeViewController);
ViewControllers = new UIViewController[]
{
HomeNavController,
CreateTabFor("History", "", ViewModel.journeyHistoryViewModel),
CreateTabFor("Contacts", "", ViewModel.contactsViewModel),
CreateTabFor("About", "", ViewModel.aboutViewModel),
};
现在我可以用导航栏做任何我喜欢的事情,但问题是我有两个导航栏,一个在顶部没有标题,另一个是我刚刚在它下面创建的新导航栏。
有任何想法的人吗?
非常感谢。