Ich habe eine Lösung erstellt, wenn tableView leer ist, dann zeige Label "Keine Daten verfügbar", sonst zeige Inhalt. Allerdings kann ich Hintergrundbild UND Label nicht zusammen anzeigen. Was mache ich falsch?Label und Bild anzeigen, wenn Tabellenansicht leer ist
Dies ist, wie ich es tun:
var numOfSections: Int = 0
if reviewsArray.count != 0{
tableView.separatorStyle = .singleLine
numOfSections = reviewsArray.count
}
else{
let noDataLabel: UILabel = UILabel(frame: CGRect(0, 0, tableView.bounds.size.width, tableView.bounds.size.height))
noDataLabel.text = "No data available"
noDataLabel.textColor = UIColor.black
noDataLabel.textAlignment = .center
tableView.backgroundView = noDataLabel
tableView.separatorStyle = .none
}
Und in viewDidLoad füge ich Hintergrundbild mit Unschärfe:
let blurredBackgroundView = BlurredBackgroundView(frame: .zero)
tableView.backgroundView = blurredBackgroundView
tableView.separatorEffect = UIVibrancyEffect(blurEffect: blurredBackgroundView.blurView.effect as! UIBlurEffect)
Bitte geben keinen Hinweis auf Dritte Bibliothek :)
Sie überschreiben das Hintergrundbild mit dem Etikett. Sie müssen eine neue "UIView" mit dem Hintergrundbild und der Beschriftung erstellen. Dann setze das als 'tableView.background' wenn' reviewArray' leer ist. – Eeshwar