如果tableView
为空,我将添加“No results”标签。
extension UITableView {
override open func layoutSubviews() {
print("Table layoutSubviews")
let label = UILabel(frame: self.bounds)
if self.visibleCells.isEmpty {
label.center = self.center
label.text = "No Results"
label.textAlignment = .center
if label.superview == nil {
self.addSubview(label)
}
} else {
label.removeFromSuperview()
}
}
}
但这在更新/重命名tableView
(行更改)时不起作用。在非空UITableView
上仍显示“No Result”(无结果
3条答案
按热度按时间uqzxnwby1#
现在像下面这样使用这个扩展
kt06eoxx2#
创建名为“TableViewHelper”的Swift类。您也可以在CollectionView中使用。
这就是你使用它的方式,
gfttwv5a3#
我尝试了在tableview的背景中添加标签的解决方案,但是当我们滚动空tableview时,标签的行为看起来很奇怪。我还尝试停止tableview的滚动行为,但当tableview数组不为空时,这不起作用。所以我尝试了另一种解决方案,它的工作完美,就像我想要的。
注意事项
在更新dataArray后,不要忘记调用
tableView.reloadData()
。