0

我有一个简单的 iPad 应用程序,它由 5 个不同的视图控制器组成。每一个都有链接到其他每一个。用户从主页开始,选择其他 4 个页面之一,然后从这些页面返回主页或直接返回任何其他页面。最好的方法是什么?

我可以使用模态序列,但我最终会得到大量的模态视图链。我不知道这是否有任何记忆问题,但从我读过的内容来看,这并不是模态转场的真正用途。我正在考虑使用模态序列,但在显示下一个模态视图之前关闭每个模态视图。

Navigator Controller 似乎更多地设计用于视图层次结构,而不是彼此没有关系的视图。

有任何想法吗?

4

2 回答 2

0

我想我在 UIViewController 中找到了答案,如下链接所示:Animate change of view controllers without using navigation controller stack, subviews or modal controllers?

感谢所有回复的人。

于 2013-10-08T16:22:58.340 回答
0

使用 UITabBar 是一个很好的解决方案。您可以将 4 个 ViewControllers 放在 UITabBarController 中。从你的 MainViewCONtroller 你可以像这样启动它

UITabBarController *controller = [[UITabBarController alloc]init];
    controller.viewControllers = @[vc1,vc2,vc3,vc4];
    NSArray *items = controller.tabBar.items ;
    UITabBarItem *item1 = [items objectAtIndex:0];
    UITabBarItem *item2 = [items objectAtIndex:1];
    UITabBarItem *item3 = [items objectAtIndex:2];
    UITabBarItem *item4 = [items objectAtIndex:3];

    item1.image = [UIImage imageNamed:@"image for vc1"];
    item2.image = [UIImage imageNamed:@"image for vc2"];
    item3.image = [UIImage imageNamed:@"image for vc3"];
    item4.image = [UIImage imageNamed:@"image for vc4"];

    item1.title = @"Title1" ;
    item2.title = @"Title2" ;
    item3.title = @"Title3"  ;
    item4.title = @"Title4" ;

    [self.navigationController pushViewController:controller animated:YES];

现在,您还需要在任何 viewController 或 MainViewController 之间切换。您可以通过按导航返回按钮返回 MainViewController。当然,当您切换到 TabBar 中的另一个 ViewController 时,也会有一些事件。为此,您可以使用它,

self.tabBarController.selectedIndex = 2 ; // To select ViewController 3 from any of VC1 , VC2 , VC4
于 2013-10-06T08:16:17.253 回答