正如@tal952 所提到的,如果整个collectionView/tableView 为空,您可以使用或使用backgroundView
属性。UICollectionView
UITableView
这是我使用的,同样可以应用于 tableView :
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
if myArray.isEmpty && collectionView.backgroundView == nil {
let noItemLabel = UILabel() //no need to set frame.
noItemLabel.textAlignment = .center
noItemLabel.textColor = .lightGray
noItemLabel.text = "No item present"
collectionView.backgroundView = noItemLabel
}
collectionView.backgroundView?.isHidden = !myArray.isEmpty
return myArray.count
}
如果您有页脚或页眉,请isHidden
相应地设置它们的属性:
footer.isHidden = self.myArray.isEmpty