Comment faire pour actualiser UITableViewCell?
J'ai un UITableView avec une coutume UITableViewCell. Dans cellForRowAtIndexPath, je assigner une police à une étiquette dans chaque cellule, car l'utilisateur peut changer la taille de police à tout moment. Pour changer la taille de police, l'utilisateur clique sur un bouton en dessous de la tableview, qui dislays un autre point de vue avec des réglages. Une fois qu'ils ont choisi une taille de police et cliquez sur fait, de ce point de vue disparaît et la tableview s'affiche à nouveau. - Je afficher une cellule par zone d'affichage. De sorte que l'utilisateur ne voit pas le changement de police jusqu'à ce qu'il passe à la cellule suivante. La cellule active est j'aimerais la mettre à jour.
J'ai essayé reloadData à partir de l'écran des paramètres, mais cela ne fonctionne pas. La tableview est un UITableViewController mais viewWillAppear jamais déclenche une fois que les paramètres de l'écran disparaît. J'ai essayé de faire la cellule personnalisé une propriété de la tableview de sorte qu'il peut être accessible à partir de l'écran paramètres, puis appelé setNeedsDisplay et setNeedsLayout. Ceux ne fonctionne pas non plus. Des suggestions?
OriginalL'auteur 4thSpace | 2009-06-04
Vous devez vous connecter pour publier un commentaire.
Pour les cellules qui sont toujours là, vous devez mettre à jour la police de l'étiquette. Vous aurez besoin d'un moyen pour accéder à l'étiquette personnalisée dans votre cellule personnalisé.
Après la modification de la taille de la police de faire quelque chose comme:
J'ai édité ma réponse après une meilleure compréhension du problème.
Merci beaucoup!
OriginalL'auteur Nikolai Ruhe
Dans votre personnalisé UITableViewCell, appel
[self setNeedsLayout];
et il doit repeindre votre portable à la boucle suivante. Je l'utilise pour asynchrones chargement de l'image depuis que je suis en tirant l'image sur le Web et il fonctionne de la houle.OriginalL'auteur bbrown
Je suis curieux, comment voulez-vous afficher votre écran des paramètres?
viewWillAppear
doit être appelé dans des circonstances normales lors de leur retour. Utilisez-vousou
Ces devrait à la fois de travail. Si, d'autre part, vous êtes juste en ajoutant les paramètres de la vue comme une sous-vue de la fenêtre ou de la vue ou de quelque chose, puis de le retirer ne vais pas l'appeler
viewWillAppear
sur la table view controller.Donc, si vous n'êtes pas en utilisant l'une de ces deux méthodes, faire. Si vous ne l'êtes déjà, puis réglage de la police de la cellule est vraiment aussi simple que d'obtenir de la cellule et la fixation de sa police. Si vous êtes en utilisant une norme
UITableViewCell
, c'est fait avecSi vous utilisez une sous-classe personnalisée, évidemment je ne peux pas vous dire exactement comment il doit fonctionner, mais la façon dont Nikolai a il est correct.
OriginalL'auteur Ed Marty