[UITableView] Augmenter la taille d'une cellule avec animation
Bonjour à tous,
Je voudrais vous demander un conseil afin de réaliser quelque chose de somme toute relativement simple.
Je voudrais, que lorsque l'utilisateur touche une cellule d'un UItableView, la cellule s'agrandisse et qu'à ce moment là , je fasse apparaitre de nouveau elements dedans (qui normalement sont "cachés").
Voici la solution à laquelle j'ai pensé.
1. j'affiche mon tableau normalement, avec une UITableViewCell custom (2 UILabel et 1 UIImageView)
2. Au niveau du UITableView, lorsque la methode "didSelectRowAtIndexPath", je déclanche un Timer qui appelle une méthode qui augmente la taille de la cellule (en fait, ça incrémente une variable jusqu'à une certaine valeur fixe et ça reload le tableau).
3. Une fois la taille max atteinte, je balance une notification à UItableViewCell
4. Au niveau du UITableViewCell, je fais apparaitre les nouveau éléments dans ma cellule
Voici mes questions qui en découlent.
1. Est-ce la bonne solution ?
2. N'y a-t-il pas déjà un protocole qui permet d'animer ce genre de choses ? (autre que mon pauvre timer qui reload la vue à chaque changement de taille)
3. Si je fais cette méthode, on va voir la cellule s'agrandir et APRES les éléments apparaitre. Y a-t-il moyen de faire apparaitre les éléements de ma cellule avant et de les cacher ? (un genre de "z-index" négatif)
Merci de votre aide et de votre travail sur ce forum ... bien utile !
Je voudrais vous demander un conseil afin de réaliser quelque chose de somme toute relativement simple.
Je voudrais, que lorsque l'utilisateur touche une cellule d'un UItableView, la cellule s'agrandisse et qu'à ce moment là , je fasse apparaitre de nouveau elements dedans (qui normalement sont "cachés").
Voici la solution à laquelle j'ai pensé.
1. j'affiche mon tableau normalement, avec une UITableViewCell custom (2 UILabel et 1 UIImageView)
2. Au niveau du UITableView, lorsque la methode "didSelectRowAtIndexPath", je déclanche un Timer qui appelle une méthode qui augmente la taille de la cellule (en fait, ça incrémente une variable jusqu'à une certaine valeur fixe et ça reload le tableau).
3. Une fois la taille max atteinte, je balance une notification à UItableViewCell
4. Au niveau du UITableViewCell, je fais apparaitre les nouveau éléments dans ma cellule
Voici mes questions qui en découlent.
1. Est-ce la bonne solution ?
2. N'y a-t-il pas déjà un protocole qui permet d'animer ce genre de choses ? (autre que mon pauvre timer qui reload la vue à chaque changement de taille)
3. Si je fais cette méthode, on va voir la cellule s'agrandir et APRES les éléments apparaitre. Y a-t-il moyen de faire apparaitre les éléements de ma cellule avant et de les cacher ? (un genre de "z-index" négatif)
Merci de votre aide et de votre travail sur ce forum ... bien utile !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Primo j'aurais fait comme toi au départ, de la à dire que c'est la bonne solution...
Mais comme toi je pense que tu dois pouvoir faire sans ton Timer. En effet tu manipules des vues et ya Core Animation qui gère tout ça il me semble.
Je sais que Philippe (un des piliers de ce forum) à fait de très bon tuto sur les Transitions ici.
Merci de ta réponse.
J'avais déjà essayé une solution dans le genre mais n'avais peut etre pas assez persévéré ni bien compris comment l'adapter à mon cas.
J'étais bien entendu déjà tombé sur le site de Phil.
Je vais essayer de mettre cela en pratique.
Cela dit, reste une interrogation quant à l'apparition des elements "cachés".
Meme avec CA, les éléments apparaitront après l'animation.
Une petite idée ?
Merci beaucoup de votre aide