Je me rends compte qu'iOS 7 n'est pas officiellement sorti et nous ne devrions pas en discuter MAIS je deviens fou en essayant de résoudre ce problème. Sur iOS 6, ma vue de table était transparente et avait l'air superbe. Première exécution d'iOS 7 et l'arrière-plan est blanc.
J'ai essayé de rendre le backgroundColor du tableau, la couleur de la cellule, etc. en UIColor clearColor mais je n'ai aucun changement.
Comment résoudre ce problème?
ios
uitableview
Teddy13
la source
la source
backgroundView
sur une table claire?Réponses:
dans cellForRowAtIndexPath
Assurez-vous également que votre tableview a réellement un arrière-plan transparent (dans le storyboard):
la source
Mettez ceci:
Dans cette section:
la source
backgroundView
une vue vide, mais ce code supplémentaire est nécessaire pour iOS 7.Essayez d'abord de définir backgroundView sur nil.
Je ne sais pas s'il s'agit d'un changement dans la documentation avec iOS7 ou s'il a toujours été là et n'a tout simplement pas affecté la couleur d'arrière-plan, mais par UITableView Class Reference @property backgroundView
"Vous devez définir cette propriété sur nil pour définir la couleur d'arrière-plan de la vue tableau."
edit: syntaxe de code corrigée
la source
Cela a été répondu, mais de manière incorrecte à bien des égards.
Vous devez implémenter la méthode de délégation ci-dessous:
Vous ne pouvez pas mettre le correctif dans cellForRowAtIndexPath car c'est après le rendu de la cellule, et il clignotera un fond blanc avant que l'arrière-plan ne soit défini pour effacer (sur les appareils plus lents).
Utilisez cette méthode déléguée et vos problèmes sont résolus!
la source
En fait, l'emplacement officiellement correct pour changer la couleur d'arrière-plan de la cellule est différent selon la documentation ( UITableViewCell Class Reference ):
la source
swift 3, 4 et 5
la source
C'est un problème assez frustrant. Voici ma solution actuelle:
Ajoutez ceci à votre
UITableViewCell
sous - classe.la source
Cela a fonctionné pour moi dans iOS7 +:
puis dans
cellForRowAtIndexPath:
la source
essayez cet extrait de code
la source
Cela n'a fonctionné pour moi que lorsque j'ai modifié une couleur d'arrière-plan claire pour chaque cellule et une couleur claire pour le tableau lui-même.
pour définir la couleur claire du tableau:
pour définir la couleur des cellules:
la source
Une chose à bien. La couleur par défaut de UITable semble être le blanc (je ne sais pas pourquoi)
Mais mieux vaut changer cela.
la source
Premier set
Deuxième set
la source
créer IB Outlet pour la vue de table @IBOutlet faible var yourTable: UITableView!
en vue de la charge
si vous voulez effacer la couleur de la cellule, faites-le également dans
la source
Dans mon application, j'ai dû définir la couleur de
backgroundColor
maUITableViewCell
classe[UIColor clearColor]
lors de la mise à jour pouriOS 7
.la source
Essayer
Et
la source
Dans mon cas, la cellule a été créée à l'aide d'un xib. il semble que le constructeur d'interface sur xcode5 ait du mal à définir clearColor sur cell.backgroundColor.
Tout ce que j'avais à faire était en effet de définir
la source
Sélectionnez simplement Clear Color on View Background pour le tableau et pour la cellule également.
la source
rapide 3
la source
la source
Ensemble
dans viewDidLoad.
si cela ne fonctionne pas, essayez:
la source
Dans Swift 3
la source