0

我遇到了一个常规......我创建了一个带有静态单元格的 UITableViewController(我已经删除了所有默认的 UITableView 方法)。每当我转到这个视图控制器时,静态单元格就会出现,但是当我将它推到导航控制器上时,静态单元格不会出现......知道为什么会这样吗?

这是我的代码:

//shows empty uitableviewcontroller 
OthersUsersTableViewController *tvc = [[OthersUsersTableViewController alloc]init];

[self.navigationController pushViewController:tvc
                                     animated:YES];

//works
        [self performSegueWithIdentifier:@"toOtherUser" sender:self];

谢谢您的帮助!

4

2 回答 2

1

当您只是调用 [[UIViewController alloc] init] 时,您在情节提要上添加和配置的 UI 对象不会被调用或连接到您的视图控制器。

您应该通过情节提要本身实例化视图控制器,方法是向您的视图控制器(在情节提要上)添加一个标识符并调用情节提要的 instantiateViewControllerWithIdentifier 方法。您可以通过当前视图控制器的故事板属性获取对故事板的引用。

OthersUsersTableViewController *tvc = [self.storyboard instantiateViewControllerWithIdentifier:@"identifier"];
于 2013-10-18T06:11:50.387 回答
1

如果您手动分配并初始化静态表视图,您的应用程序如何知道它正在引用故事板中的静态表视图?

在情节提要中为您的静态表视图提供一个标识符并像这样初始化它:

OthersUsersTableViewController *tvc = [self.storyboard instantiateViewControllerWithIdentifier:@"staticTableView"];

您可以在右侧的菜单中设置您的标识符,您还可以在其中为视图控制器设置自定义类。该字段称为情节提要 ID。

于 2013-10-18T06:12:57.280 回答