1

我对 iOS 开发非常陌生,并且想构建以下应用程序:

  • 第一个屏幕是带有 4 个选项卡的选项卡栏视图
  • 3 个选项卡非常简单,但第 4 个选项卡将您带出选项卡栏视图,并按顺序排列多个视图。它基本上是一个贯穿 10 个屏幕的练习(我不在乎这些屏幕中是否有导航栏),最后你得到一个分数并返回到主标签栏视图。

鉴于我有以下要求,你会如何建议我处理这个问题:

  • 在练习的任何给定页面,用户都可以取消并返回主选项卡栏视图(我如何从练习中间返回到该特定页面?或在练习结束时?)
  • 每个页面都有一些按钮和东西,所以它不是一系列图像 - 用户采取行动并且必须在最终屏幕上记录和使用(用于得分) - 我应该使用带有分页的滚动视图吗?我读过它,不确定它是否符合我的需要。
  • 我应该以模态方式显示 10 个视图控制器并为每个控制器提供一个单独的 UIViewController 吗?

我知道这不仅仅是一个问题,但我想给出上下文,我相信整体战略的一个答案可以完全回答所有这些问题。

非常感谢您的帮助!

4

2 回答 2

0
UITabBarController *tabBarController=[[UITabBarController alloc]init];
 tabBarController.delegate=self;
    Screen1 *screen1=[[Screen1 alloc]init];
    UINavigationController *nav2=[[UINavigationController alloc]screen1];
 Screen2 *screen2=[[Screen2 alloc]init];
 UINavigationController * nav3=[[UINavigationController alloc]initWithRootViewController:screen2];
UIWindow *samplewindow = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
NSArray *controllers=[NSArray arrayWithObjects:nav2,nav3, nil];
        tabBarController.viewControllers=controllers;
     [self.window addSubview:tabBarController.view];
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];
 samplewindow.rootViewController = self.viewController;
    [samplewindow addSubview:self.viewController.view];
     [samplewindow makeKeyAndVisible];

在 AppDelegate.m 中添加此代码,然后它会正常工作。

于 2012-08-06T06:20:10.200 回答
0

只需在第四个选项卡中放置一个导航控制器,然后使用它来浏览问题视图。

每当您想回到本练习的开头时,请使用[self.navigationController popToRootViewControllerAnimated:YES];inCancel方法。

如果不想显示导航栏,可以设置

self.navigationController.navigationBar.hidden = YES;
于 2012-08-06T00:07:10.730 回答