1

我有一个使用 Three20 生成“.xib”的视图控制器

我想要一个 tableView 给我这个 ViewController 没有“.xib”,就像你做的那样?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    if (!self.albumController) {
        self.albumController = (AlThumbsViewController *)self; //AlThumbsViewController no have xib  //Three20 is generated automatically with
    }

    [self.navigationController pushViewController:self.albumController animated:YES];
    [self.albumController release];
    self.albumController = nil;
}

谢谢大家。

4

3 回答 3

0

如图所示

error:
Undefined symbols for architecture i386:
   "_OBJC_CLASS_ $ _AlThumbsViewController", Referenced from:
       objc-class-ref in SocialesAlbumViewController.o
ld: symbol (s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use-v to see invocation)

在这里看图片

于 2012-05-10T23:34:12.660 回答
0

如果我对您的理解正确,您想从一个视图控制器转换到第二个视图控制器,该控制器在您创建第二个视图控制器时没有为其生成 NIB/XIB 文件?

如果是这样,您需要在 xcode 中创建一个新的 XIB。转到新文件、用户界面、视图。然后将新的 XIB 文件关联到视图控制器,方法是将 XIB 的接口构建器中的类名称更改为与视图控制器相同的名称。然后将 Interface Builder 中的 view outlet 设置为 XIB 的主视图。然后在没有 XIB 的视图控制器上执行 initWithNibName,并将刚刚创建的新 XIB 文件传递​​给它。

根据评论编辑:

步骤1:创建一个新文件,用户界面,视图。这将生成一个独立的 XIB 文件。

第 2 步:转到您的新 XIB。单击文件的所有者。单击右侧菜单上的 Identity Inspector 图标(中间的小图标)。对于“类”,将名称更改为要链接到的视图控制器的确切名称。

第 3 步:单击文件的所有者。单击右侧菜单上的 Connections Inspector 图标(最右侧的小图标)。在 Outlets 下,将“view”连接到 XIB 的主视图(只需从圆圈拖动到主窗口)。

第 4 步:像这样加载您的视图控制器:

MyViewController *view = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
于 2012-05-10T20:30:30.250 回答
0

MyViewController *view = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];

    [self.navigationController pushViewController:view animated:NO]; ---> you can use YES

或 [self.view addsubview:view.view];

和相反的

[self.navigationController popViewControllerAnimated:NO];

[self.view romovefromsuperview];

于 2012-05-11T07:56:31.103 回答