带其他视图的UITabbar控制器,而不是iphone中使用monotouch的主窗口



我们可以为任何窗口的应用程序创建选项卡控制器吗?我只知道创建主窗口。

不,你不能在其他视图控制器上添加UITabBarController(如果这就是你所说的"any window")。它应该是你的应用程序的根控制器。如果你把它添加到其他控制器,它将无法正常工作。

你不能将它添加到任何其他控制器中,但你可以在MainWindow中添加它,并使它仅在几个viewcontroller中出现并起作用,而不是在整个应用程序中。在AppDelegate中添加UITabBarController并定义它。现在,如果你不想在应用程序中首先使用选项卡栏,你需要在主窗口中添加一个导航控制器作为子视图,如下所示:

[self.window addSubview:navController.view];

[self.window makeKeyAndVisible];

现在,当你移动到其他控制器,你希望使标签栏控制器出现,那么你将不得不从子视图中删除navigationController,并将标签栏控制器添加到子视图。为此,在AppDelegate中创建一个单独的方法:

 -(void)Load_tabBar
{
[self.navController.view removeFromSuperview];
[self.window addSubview:tabBarController.view];
[self.window makeKeyWindow];
}

再次删除标签栏,在另一个方法中执行相反的操作:

  -(void)remove_tabBar
   {
    [self.tabBarController.view removeFromSuperview];
    self.tabBarController.selectedIndex=0;
    [self.window addSubview:navController_initiale.view];
    [self.window makeKeyWindow];
   }

这个可以帮你完成这项工作!

最新更新