J'ai une vue tableau simple, je peux changer les couleurs des cellules, mais lorsque vous essayez de changer la couleur de la vue Tableau (partie arrière-plan), cela ne fonctionne pas ... Je l'ai essayé via Storyboard ... Quelqu'un peut-il s'il vous plaît aider
Commencez par définir la couleur d’arrière-plan de la table dans viewDidLoad
comme ci-dessous:
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.backgroundColor = UIColor.lightGrayColor()
}
Maintenant, ajoutez cette méthode:
override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
cell.backgroundColor = UIColor.clearColor()
}
Dans Swift, utilisez les méthodes ci-dessous au lieu de la méthode précédente:
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.backgroundColor = UIColor.lightGray
}
override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.backgroundColor = UIColor.clear
}
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
cell.contentView.backgroundColor = UIColor.yellowColor()
}
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
cell.contentView.backgroundColor = UIColor.yellow
}
utilisez ce code pour changer la couleur de la tableView
override func viewDidLoad() {
super.viewDidLoad()
// define tableview background color
self.tableView.backgroundColor = UIColor.clearColor()
}
pour changer la table
cell.backgroundColor = UIColor.clearColor()
Tu as:
Placez ContentView comme Default (transparent) dans SB, et dans la méthode de votre cellule dans awakeFromNib, simplement:
self.backgroundColor = UIColor.SomeColor
Je suis un peu en retard au jeu! Mais, aucune des réponses ci-dessus n'a fonctionné pour moi, alors je vais simplement partager ce que j'ai trouvé, au cas où quelqu'un d'autre sauterait sur ce fil.
REMARQUE: j'ai également ma propre classe de cellules personnalisée. Pas sûr que cela affectera votre code!
@IBDesignable class YourViewController: UITableViewController {
//IBInspectable and IBDesignable makes the properties accessible in storyboard
@IBInspectable var tableViewBackground: UIColor?
@IBInspectable var cellViewBackground: UIColor?
//in case you want to customize the text color, as well!
@IBInspectable var customTextColor: UIColor?
override func viewDidLoad() {
//your code
self.tableView.backgroundColor = tableViewBackground
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell()
cell.textLabel?.textColor = customTextColor
cell.backgroundColor = cellViewBackground
return cell
}
//the rest of your code
}
Trouver vos inspectables:
1). Dans le menu Storyboard du viewController de votre tableView, cliquez sur yourViewController. La première liste déroulante à l'intérieur du viewController. (Le premier menu déroulant contiendra votre tableView et votre cellView. Il peut également contenir d'autres goodies en fonction de votre projet).
2) Dans l'inspecteur d'attributs, vous verrez un en-tête avec le nom de votre viewController et les propriétés @IBInspectable que nous avons définies ci-dessus!
3) Vous pouvez ensuite les modifier comme vous le souhaitez.
J'espère que cela t'aides!