supprimer les sous-vues du contenu de UITableViewCell (réinitialiser le UITableView)
Aucune idée sur comment faire pour réinitialiser un UITableView
?
Je veux afficher un nouveau jeu de données à la presse d'un bouton et supprimez également tous les sous-vues de la cellule contentView
et de les actualiser avec une nouvelle série de sous-vues. J'ai essayé [tableView reloadData]
mais les données ne se rafraîchir, mais les sous-vues ajoutée à la contentView
des cellules déjà persistante.
source d'informationauteur Bangdel | 2010-09-21
Vous devez vous connecter pour publier un commentaire.
Mieux encore, lorsque vous créez la cellule:
Et plus tard, quand vous avez besoin de l'enlever:
J'ai eu la réponse 🙂
Ce morceau de code permet de vérifier si le contenu de la cellule de vue a tout les sous-vues.
Si il y en a, il les supprime pour la boucle d'itérations!
Au lieu d'itérer sur toutes les sous-vues (vous-même) pour les supprimer, vous pouvez simplement faire ceci,
Si vous souhaitez supprimer tous les sous-vues de UITableViewCell vous pouvez utiliser ce code:
En utilisant le code de @leftspin
Je sais que cette question est vieux, mais j'ai trouvé un problème avec la solution, si vous supprimez l'un des sous-vue à partir d'un prototype de cellule, de ce point de vue sera supprimé de tous réutilisé les cellules, ce qui permettra de créer un pointeur null dans la cellule d'à côté qui seront réutilisés.
Si vous sous-classe UITableViewCell et de supprimer la sous-vue à partir de là, vous aurez à faire cette vérification en premier:
Cela permet également de travailler à l'intérieur de votre cellForRow à indexPath méthode
Avec ce que vous éviter le pointeur null, le code swift 3. Espérons que cela aide quelqu'un. 🙂
Pour Swift 3.1