2017-07-09 3 views
0

Es scheint eine riesige leere, undurchsichtige Fläche unter meinen Zellen. Während ich die Tabellenansicht scrolle, kann ich sehen, dass es einen undurchsichtigen Bereich gibt, der den hellorangenen Hintergrund der Tabellenansicht abdeckt, wie in der rechten Bildschirmaufnahme gezeigt. Basierend auf dieser question, habe ich versucht, die FooterHeight auf 0 und FooterView auf eine leere Ansicht, aber es hat nicht funktioniert. Irgendeine Lösungsmöglichkeit?Riesige leere Fläche am Ende der Tabellenansicht

enter image description here enter image description here

-Code

private func setupSongsTable() { 
     let frame = CGRect(x: 0, y: 0, width: Screen.width, height: Screen.height) 
     songsTable = UITableView(frame: frame, style: UITableViewStyle.plain) 
     songsTable.sectionIndexBackgroundColor = UIColor.clear 
     songsTable.backgroundColor = .orange 
     songsTable.isOpaque = false 
     songsTable.backgroundView = nil 
     self.view.addSubview(songsTable!) 
} 

public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     cell.backgroundColor = .blue 
     return cell 
} 
+0

@cloudcal kennen Sie eine andere Lösung, um mein Problem zu beheben? – Alex

+0

Überprüfen Sie, ob Ihre Ansicht eine Hintergrundfarbe aufweist. Mache es hellorange ähnlich wie bei deiner Tischansicht. –

+0

@BilawalBaig Ich setze 'self.view.backgroundColor = UIColor.green' und es erscheint nicht auf dem Bildschirm b/c Die Tabellenansicht deckt wahrscheinlich die Ansicht ab – Alex

Antwort

0

Ich erkannte, dass ich mehr als 4 Abschnitte erstellte, so dass der zusätzliche Platz leere Abschnitte darstellte. Der richtige Code ist unten.

public func numberOfSections(in tableView: UITableView) -> Int { 
    let numOfLetterSections = Array(songsDictionary.keys).count 
    return numOfLetterSections + 1 //4 sections 
} 
1

Versuchen Sie, die tableView.backgroundColor-.clear Einstellung. Wenn das nicht funktioniert, überprüfen Sie, welche Hintergrundfarben Ihre Zelle hat. cell.backgroundColor. Gemessen an Ihren Screenshots sieht es so aus, als ob Ihre Zellen eine weiße Hintergrundfarbe haben, während Ihre Tabellen die Standardfarbe von Apple Light Grey haben.

+0

Ich habe gerade meine Antwort aktualisiert. Es gibt einen undurchsichtigen Abschnitt direkt unter den Zellen. Ich bin mir nicht sicher, warum – Alex

+0

statt Frame-Einstellung Ihrer Tabelle AutoLayout verwenden. Nachdem Sie Ihre Tabelle zu Ihrer Ansicht hinzugefügt haben, wiederholen Sie dies für die linken, oberen, unteren und rechten Beschränkungen. 'addConstraint (NSLayoutConstraint (Element: Tabelle, .left, .equal, view, .left, Multiplikator: 1.0, Konstante: 0))' ^ tun Sie das für alle vier Seiten. – cloudcal

Verwandte Themen