1

好吧,我已经阅读了这些帖子和教程,但它们让我更加困惑:

网址 1 任务 1 任务 2

我想要的是这样做:

在我的应用程序开始时,有一个表格视图。当我按下一行时,它应该带我到另一个有标签的视图。

到目前为止我所做的是这些:

1)创建了一个导航控制器,还有我的tableview。当我按下一行时,会打开一个视图。在那个视图中(带有它自己的 .xib 文件)我添加了标签栏项目。

你可以在这里看到图片:

导航控制器 单视图

但是现在,我不知道如何在按下标签栏项目时打开一个新视图。我正在尝试将我的视图嵌入到控制器中,但我不能。

2)然后我尝试了这个:像以前一样拥有我的导航控制器,并在情节提要中添加了一个标签栏控制器,就像那张图片一样: 在此处输入图像描述

但我无法连接它们。我的第一个视图是“SkiCenter”类,我使用的代码是:

SkiCenter *myDetViewCont = [[SkiCenter alloc] initWithNibName:@"SkiCenter" bundle:[NSBundle mainBundle]];
    myDetViewCont.ski_center=[centers objectAtIndex:indexPath.row];
    [self.navigationController pushViewController:myDetViewCont animated:YES]; // "Pushing the controller on the screen"
    [myDetViewCont release]; // releasing controller from the memory
    myDetViewCont = nil;

我得到 SIGBRT,它说明了“SkiCenter”的 .nib 文件。

您能否建议 1 或 2 中的解决方案?

只是为了更清楚:解决方案1:按行让我进入一个名为skicentermain的uiview。我添加了几个 tabbaritems,但我不知道如何让它们打开新视图。

解决方案 2:插入标签栏控制器。它的第一个选项卡是 SkiCenter。但是当按下该行时,我得到一个 sigbart 错误。它说明了 SkiCenter 的 nib 文件。

4

2 回答 2

1

如果您决定使用情节提要,您可以简单地将标识符放入任何视图控制器attributes inspector,然后使用其 id 实例化它。

UIStoryboard * storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];

[[self navigationController] pushViewController:[storyBoard instantiateViewControllerWithIdentifier:@"ViewControllerID"] animated:YES];
于 2012-09-06T13:55:29.673 回答
0

看起来您的声明*myDetViewCont不正确。您调用了您的笔尖 SkiCenterMain,而不是 SkiCenter。另外,SkiCenterMain 到底是什么?那是 UITabBarController 吗?

//SkiCenter *myDetViewCont = [[SkiCenter alloc] initWithNibName:@"SkiCenter" bundle:[NSBundle mainBundle]];
SkiCenter *myDetViewCont = [[SkiCenter alloc] initWithNibName:@"SkiCenterMain" bundle:[NSBundle mainBundle]];
于 2012-09-06T13:47:07.850 回答