使用Xcode 4.2的TableView和Navigation Controller基于标签的应用程序

时间:2011-11-03 04:54:43

标签: xcode uitableview uinavigationcontroller uitabbarcontroller tabbar

我想在Tab栏应用程序中创建Tableview。 因为我正在使用新版本的Xcode(Xcode 4.2),所以无法查看“MainWindow.xib”以将导航控制器放在那里。我已经查看了另一个问题,它说在“App Delegate.m”中插入以下代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIViewController *viewController1 = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
UIViewController *viewController2 = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
UITableViewController *viewController3 = [[ParkTable alloc] initWithNibName:@"ParkTable" bundle:nil];
UIViewController *viewController4 = [[TableView alloc] initWithNibName:@"TableView" bundle:nil];
UINavigationController *navController1 [[[UINavigationController alloc] initWithRootViewController:viewController4]];

self.tabBarController = [[UITabBarController alloc] init];
self.ParkTableDel = [[UITableViewController alloc] init];

self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, viewController4, nil];
self.window.rootViewController = self.tabBarController;    
[self.window makeKeyAndVisible];
return YES;
}

我插入此代码时收到一条错误,指出“数组大小有非整数类型'UINavigationController *'

我想知道是否有人能告诉我我做了什么,并且/或者指向我的教程,该教程展示了如何将带有导航控制器的TableView以编程方式插入基于选项卡的应用程序或显示如何获取“mainWindow”的教程.xib“在Xcode 4.2中。

任何帮助都会受到赞赏,因为我撞到了一堵砖墙。

2 个答案:

答案 0 :(得分:2)

你有很多括号:

UINavigationController *navController1 = [[UINavigationController alloc] initWithRootViewController:viewController1];

编辑:

而不是添加viewController4,添加navController1。 (这个中有viewController4)

self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, viewController3, navController1, nil];

答案 1 :(得分:0)

您的代码应该有效。你刚忘了'='。

试试这个:

UINavigationController *navController1 = [[[UINavigationController alloc] initWithRootViewController:viewController4]];