【问题标题】:Tab based application with TableView and Navigation Controller using Xcode 4.2使用 Xcode 4.2 的带有 TableView 和导航控制器的基于选项卡的应用程序
【发布时间】:2011-12-20 21:13:41
【问题描述】:

我想在标签栏应用程序中创建一个表格视图。 因为我使用的是新版本的 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”的教程Xcode 4.2 中的 .xib"。

任何帮助将不胜感激,因为我已经碰壁了。

【问题讨论】:

    标签: xcode uitableview uinavigationcontroller uitabbarcontroller tabbar


    【解决方案1】:

    你有很多括号:

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

    编辑:

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

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

    【讨论】:

      【解决方案2】:

      您的代码应该可以工作。你只是忘记了一个'='。

      试试这个:

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

      【讨论】:

      • 感谢您的帮助,我尝试输入这行代码,但收到一条错误消息,指出“预期标识符”
      猜你喜欢
      • 2011-12-13
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多