Architecture d'un bout de code à  distribuer

Salut tout l'monde !


J'ai envie de partager un bout de code sur un GitHub.

 


Pour ceux qui sont curieux et veulent savoir ce que fait le bout de code :


L'idée m'est venue est allant sur le web, et lorsqu'on a est sur un forum où les posts peuvent être assez conséquent, on peut ne plus se rappeler qui l'a écrit. En effet, le groupe avatar/nickname est souvent en haut du scroll.

Donc mon idée était de permettre dans un cas analogue sur une UITableView de faire descendre (parallax-like) le tout. En offrant la possibilité de mettre ce paquet (sur l'axe Y, obv) au top, au centre, ou au fond de la partie visible de la UITableViewCell.


 


Donc, je suis actuellement à  la recherche de la meilleure façon de partager mon bout de code.

Après recul, je remarque que le bout de code réellement intéressant, est une méthode à  appeler dans layoutSubviews de la UITableView.


Pour ce faire, j'aurais besoin que les UITableViewCell (custom) aient une propriété UIView *parallaxView.


Et j'appelle la UITableView (notamment pour connaà®tre les UITableViewCell visibles).


 


Donc, à  votre avis, quel serait le meilleur moyen de rendre ce code réutilisable facilement ?

J'ai donc en tête pour l'instant :

Une catégorie sur UITableView.


Je donne en argument la classe de la UITableViewCell (faut que je regarde ça de plus près, mais il me semble que c'est possible), car à  un moment donné je fais CustomCell *cell = (CustomCell *)[tableView cellForRowAtIndexPath:indexPath]


 


Je me demande si j'ai la possibilité de vérifier que la UITableViewCell customisée possède la propriété (la UIView). Du coup, il me semble que @protocol pourrait vérifier ça. J'avouerais qu'à  part m'avoir servi à  faire des delegates, j'ai pas trop regardé ça.


 


Pour ceux que ça intéresse, je filerais 2 exemples d'utilisations de mon code sur le GitHub, un avec une sorte de bulles à  la iMessages (et donc la " queue " de la bulle suivrait l'avatar), et un autre en mode " forum ". Faudra aussi que je regarde les meilleures solutions pour montrer le résultat sur GitHub (gif?), mais c'est une autre histoire.


Réponses

  • AliGatorAliGator Membre, Modérateur
    Pour moi cela n'est pas un cas d'usage vraiment adapté à  une catégorie, mais plutôt à  une simple sous-classe.

    Après faudrait voir un peu ton API pour mieux te répondre
  • Je vais terminer mon code (j'ai pas terminé), cleaner le tout, et j'posterais un cas concret d'utilisation.

    Donc, je mets cette discussion encore un peu en pause. C'était surtout pour avoir une idée en avance sur la manière de faire.


    Concernant la category, je sais que ce n'est pas réellement fait pour ça, mais j'aurais trouvé ça plus simple à  appeler dans une classe UITableView. J'vais réfléchir encore à  ça en terminant mon code.


  • AliGatorAliGator Membre, Modérateur
    Sinon un bon article à  lire concernant qques guidelines si tu comptes partager un bout de code sur GitHub : http://nshipster.com/stewardship/
Connectez-vous ou Inscrivez-vous pour répondre.