在这里几乎多次问过相同的问题,但是我的问题有点不同,例如,在这里,用户展示了一种处理带有标签的空表视图的好方法
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if self.numberOfRow == 0{
var emptyLabel = UILabel(frame: CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height))
emptyLabel.text = "No Data"
emptyLabel.textAlignment = NSTextAlignment.Center
self.tableView.backgroundView = emptyLabel
self.tableView.separatorStyle = UITableViewCellSeparatorStyle.None
return 0
} else {
return self.numberOfRow
}
}
有一个节时,它可以很好地工作,但是我的问题是,我有两个节,用户可以在它们之间移动单元格,我想要,当其中一个为空时,该节中会出现一个标签,表示它为空。 有人可以修改这种方式吗?还应该重新加载数据以显示此标签,对吗?
非常感谢
答案 0 :(得分:1)
最简单的方法是,如果该节中没有其他行,则在该节中显示一个常规单元格。
这是一些粗糙的伪代码:
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let sectionData = data[section]
return sectionData.isEmpty ? 1 : sectionData.count
}
tableView(tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let sectionData = data[section]
if sectionData.isEmpty {
// create plain cell
cell.textLabel.text = "Nothing to see here"
return cell
} else {
// create and return your normal data cell from the data for the index path
}
}
另一个选择是显示没有行的任何节的节标题或页脚。