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

adu*_*dum 64 uitableview ios xcode-storyboard

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

模拟器 Xcode中

小智 205

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

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

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
}
Run Code Online (Sandbox Code Playgroud)

  • 这意味着您必须删除实现,而不仅仅是插入空方法:) (30认同)

EeK*_*Kay 102

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

关于静态单元格的另一件事,它们只能在UITableViewController中使用.Storyboard Editor允许您将它们添加到常规UIViewController中的Table View对象,但这在运行时不起作用.原因是UITableViewController提供了一些额外的魔力来处理静态单元的数据源.Xcode甚至阻止您使用错误消息编译这样的项目:"非法配置:静态表视图仅在嵌入UITableViewController实例时有效".

有同样的问题,但这使事情清楚......

  • XCode实际上让我在`UIViewController`中使用tableview编译和运行我的应用程序.这只是一张空白的桌子.非法配置错误消息将有所帮助 (9认同)

Den*_*ews 34

您想尝试使用TableViewController而不是Generic View控制器吗?

  • 只有将表视图控制器嵌入到容器视图中时才能进行混合和匹配,该容器视图是较大视图的子容器. (2认同)

小智 11

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