不显示带有静态单元格的UITableView

时间:2011-12-26 23:06:42

标签: ios uitableview xcode-storyboard

我使用Storyboards(标签视图模板)创建了一个新的Xcode项目。我在故事板中添加了几个视图控制器,并希望将UITableView与静态单元格一起使用。我创建了它,但是当我在模拟器中运行时,细胞不会出现。除了这个故事板文件,我没有更改项目中的任何内容。我正在显示故事板编辑器和模拟器运行的屏幕截图。标签显示,因此视图正确加载。我将背景颜色设置为灰色,这样我就可以看到talbeview正在加载。所有单元格都设置为可见。我将他们的风格改为Basic并编辑了标签,并添加了一个披露指标,就是这样。

simulator xcode

4 个答案:

答案 0 :(得分:201)

使用静态表视图时,请勿实现以下任何方法:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
}

答案 1 :(得分:102)

如Ray Wenderlich的网站所述(在这篇文章中:Beginning Storyboards in iOS 5 Part 2,“工作中添加播放器屏幕”部分):

  

关于静电电池的另一件事,它们只适用于   的UITableViewController。故事板编辑器将允许您添加它们   常规UIViewController中的Table View对象,但不会   在运行时工作。原因是UITableViewController   为照顾数据源提供了一些额外的魔力   静电池。 Xcode甚至阻止您编译这样的项目   错误消息:“非法配置:静态表视图   仅在嵌入UITableViewController实例时才有效“。

有同样的问题,但这清楚了......

答案 2 :(得分:11)

您可以添加容器视图并在该容器中嵌入UITableViewController。然后,您可以管理新控制器内的静态单元格。

答案 3 :(得分:1)

我遇到了同样的问题,而且对我有用的修复是使用performSegue.呈现静态UITableViewController子类使用[[self navigationController] present...]呈现旧方式没有结果在静态表视图中正确加载其单元格。