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")
}
Voici la solution:
tableView.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0))
tableView.tableFooterView?.isHidden = true
tableView.backgroundColor = UIColor.clear
Une solution plus propre est:
tableView.tableFooterView = UIView(frame: CGRectZero)
Rien d'autre n'est nécessaire.
Swift 3
tableView.tableFooterView = UIView (frame: .zero)
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")!)
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)
Swift 3 : Manière la plus simple
tableView.tableFooterView = UIView()