UITableView与静态单元格不显示

我已经使用Storyboards(选项卡视图模板)创build了一个新的Xcode项目。 我添加了几个视图控制器到我的故事板,并希望使用一个静态单元格的UITableView。 我创build了它,但是当我在模拟器中运行时,单元格不显示。 除了这个故事板文件,我没有改变任何项目。 我正在显示故事板编辑器和模拟器运行的截图。 标签出现,所以视图加载正确。 我设置背景颜色为灰色,所以我可以看到talbeview正在加载。 所有单元格都设置为可见。 我把他们的风格改成了Basic,编辑了标签,并增加了一个披露指标,就这些。

模拟器Xcode中

你想尝试使用TableViewController而不是通用视图控制器?

当您使用静态表格视图时,不要执行下面的任何方法:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { } 

正如Ray Wenderlich的网站上所述(在这篇文章中: iOS 5第2部分的开始故事板 ,“工作中添加播放器屏幕”一节):

关于静态单元还有一件事情,它们只能在UITableViewController中工作。 故事板编辑器将允许您将它们添加到常规UIViewController中的表视图对象,但在运行时不起作用。 这是因为UITableViewController提供了一些额外的魔法来处理静态单元格的数据源。 Xcode甚至可以防止你编译这样一个项目的错误信息:“非法configuration:静态表视图只有在embedded到UITableViewController实例中才有效”。

有同样的问题,但这使事情变得清晰。

您可以添加一个容器视图,并在该容器中embedded一个UITableViewController。 然后,您可以pipe理新控制器内的静态单元。

我遇到了同样的问题,而对我而言,修复工作是使用performSegue.来呈现静态的UITableViewController子类performSegue.[[self navigationController] present...]陈述旧的方式并没有导致静态表视图正确加载其单元格。