我遇到了一个车辙...... 我用静态单元格创建了一个UITableViewController(我删除了所有默认的UITableView方法)。每当我转向这个视图控制器时,静态单元格就会出现,但是当我将它推到导航控制器上时,静态单元格就不会出现......任何想法为什么会出现这种情况?
这是我的代码:
//shows empty uitableviewcontroller
OthersUsersTableViewController *tvc = [[OthersUsersTableViewController alloc]init];
[self.navigationController pushViewController:tvc
animated:YES];
和
//works
[self performSegueWithIdentifier:@"toOtherUser" sender:self];
感谢您的帮助!
答案 0 :(得分:1)
当您刚刚调用[[UIViewController alloc] init]时,您在故事板上添加和配置的UI对象不会被调用或连接到您的视图控制器。
您应该通过故事板本身实例化视图控制器,方法是向视图控制器添加标识符(在故事板上)并调用故事板的instantiateViewControllerWithIdentifier方法。 您可以通过当前视图控制器的故事板属性获取对故事板的引用。
OthersUsersTableViewController *tvc = [self.storyboard instantiateViewControllerWithIdentifier:@"identifier"];
答案 1 :(得分:1)
如果您手动分配并初始化静态表视图,您的应用应该如何知道它在故事板中引用静态表视图?
在故事板中为静态表视图提供标识符,并将其初始化为:
OthersUsersTableViewController *tvc = [self.storyboard instantiateViewControllerWithIdentifier:@"staticTableView"];
您可以在右侧菜单中设置标识符,您也可以在其中设置视图控制器的自定义类。该字段称为Storyboard ID。