TabBarController + TableViewController +导航控制器?

时间:2011-03-04 16:41:40

标签: iphone sdk uinavigationcontroller uitabbarcontroller tableview

我是iphone开发的新手,我想制作一个结合了TabBarController + UITableViewController + UINavigationController的应用。我知道这个问题在一些视频教程和线程中被广泛讨论过,但其中一些是旧的xcode和sdk版本,我在处理这些教程时遇到了问题。

如果有人可以帮我提供最新的教程或源文件,我将很高兴。

要清楚,我正在尝试使用带有两个选项卡的标签栏控制器来建立我的应用程序:第二个是简单视图,第一个应该包含tableviewcontroller和导航控制器。当我点击一个单元格时,它应该移动到另一个“细节”视图。

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:2)

好的,这很长:

AppDelegate.h中的

分配UITabBarController一个UINavigationController和2 UIViewControllers

例如:

UITabBarController *mainTabBar;
UINavigationController *navController;
UIViewController *firstViewController;
UIViewController *secondViewController;

然后转到AppDelegate.m并实例化这4个项目中的每一个:

mainTabBar = [[UITabBarController alloc] init];

firstViewController = [[firstView alloc] init];

为两个视图执行此操作

然后如果要设置任一视图的标题(这将是标签栏中显示的标题),请按以下步骤操作:

firstViewController.title = @"Welcome";

然后为其中包含UINavigationController的视图创建UITableView,如下所示:

navController = [[UINavigationController alloc] init];
[navController  pushViewController:firstViewController animated:NO];

现在你有一个UIViewController和一个UINavigationController,里面有一个UIViewController

剩下的就是将两个标签放入UITabBarController

mainTabBar.viewControllers = [NSArray arrayWithObjects:firstViewController, secondViewController,  nil];

然后只需将标签栏控制器放在屏幕上就可以了:

[window addSubview:mainTabBar.view];

要记住几件事:

  • 确保释放所谓的alloc所有内容,以便使用良好的内存管理。
  • 确保导入您要在AppDelegate.h中使用的所有文件,它应类似于:#import "FirstView.h

如果您有任何问题,请在评论中告诉我

答案 1 :(得分:0)

Apple开发人员的图书馆门户网站上标题为Combined View Controller Interfaces的文档解释了如何通过使用Interface Builder以及以编程方式完成后续工作。我最近按照该页面上的文档创建了一个完全按照您要执行的操作的应用程序的一部分。