web-dev-qa-db-fra.com

Impossible de masquer les cellules vides dans UITableView Swift

J'utilise UITableView dans une application Swift et j'utilise ma propre UITableViewCell personnalisée.

Lorsque vous essayez de masquer les cellules vides dans UITableView, son arrière-plan est toujours blanc. 

Sous UITableView, j'ai une image d'arrière-plan (UImageView).

J'ai déjà essayé de cacher ces cellules, et en réalité elles sont cachées, mais j'ai toujours un fond blanc, en utilisant ce code:

override func viewDidLoad() {
    super.viewDidLoad()
    var tblView =  UIView(frame: CGRect(x: 0,y: 0,width: 0,height: 0))
    tblView.backgroundColor = UIColor.clearColor()
    tableView.tableFooterView = tblView

    var nipName=UINib(nibName: "CustomCell", bundle:nil)
    self.tableView.registerNib(nipName, forCellReuseIdentifier: "CustomCell")
}
22
user3210784

Voici la solution:

tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0))
tableView.tableFooterView?.isHidden = true
tableView.backgroundColor = UIColor.clear
25
user3210784

Une solution plus propre est:

tableView.tableFooterView = UIView(frame: CGRectZero)

Rien d'autre n'est nécessaire.

31
itsprof

Swift 3

tableView.tableFooterView = UIView (frame: .zero)

3
Jason Silver

Une autre solution plus simple à ce problème consiste à définir l’arrière-plan avec une image pour votre tableView. L’image doit être tout blanc si vous avez juste besoin d’un arrière-plan blanc pour vos cellules non-données ou vous pouvez également définir votre image personnalisée pour l’arrière-plan table. Ainsi, les données avec des cellules auront un fond normal et pour la cellule non-donnée, cela montrera votre image de fond:

 self.tableViewName.backgroundColor = UIColor (patternImage: UIImage(named:
 "imageName.jpg")!)
0
Anmol Kukreja

Ces deux solutions fonctionnent pour moi dans Swift 3.0

Méthode - 1

let footerView =  UIView(frame: CGRect.zero)
tableView.tableFooterView = footerView
tableView.tableFooterView?.isHidden = true
tableView.backgroundColor = UIColor.clear()

Méthode - 2

 tableView.tableFooterView = UIView(frame: CGRect.zero)
0
David DelMonte

Swift 3 : Manière la plus simple

tableView.tableFooterView = UIView()
0
Musa almatri