J'essaie de créer des applications iOS tout en apprenant et j'ai du mal à comprendre la bonne façon de procéder.Comment mettre à jour mon UIView personnalisé avec drawRect?
Ce que j'ai actuellement est une vue qui est une sous-classe de UIView. C'est clair et je veux l'utiliser comme surface de dessin. Il va s'asseoir sur quelque chose d'autre, comme du papier calque.
L'utilisateur devrait être capable de cliquer sur un point puis sur un autre point et une ligne devrait tracer entre les 2 points. Je reçois les données tactiles, j'ai les points, et je suis capable de dessiner des choses à l'intérieur de drawRect: initialement.
Le problème est que je ne suis pas sûr de savoir comment mettre à jour les choses plus tard. Quand tout se charge et drawRect: est calle, il va tracer une ligne très bien. Mais comment puis-je attirer de nouvelles choses ou modifier des choses déjà dessinées en fonction de ce que fait l'utilisateur. Je sais que je dois appeler setNeedsDisplay, mais pas comment obtenir les données à la vue pour dessiner des choses. J'ai lu un tas de tutoriels/exemples et ils s'arrêtent tous à "Override drawRect: et dessine quelques trucs ... fait!". Comment puis-je transmettre des données à la vue pour le dire «hé, redessinez ce truc et ajoutez cette nouvelle ligne». Ou est-ce que je vais à ce sujet dans le mauvais sens?
EDIT: Je vais essayer d'expliquer mieux la configuration que j'ai.
J'ai un VC. Dans la vue de ce VC j'ai une barre d'outils en bas. Le reste de la zone est occupée par 2 vues. L'une est une vue d'image qui contient une image de référence. L'un est la vue personnalisée qui est claire (papier calque) qui se trouve au sommet. Ils cliquent sur un bouton de la barre d'outils qui active un évaluateur gestuel. Ils cliquent sur l'écran, et je rassemble les données de robinet, éteignez le gesturerecognizer et dessinez HOPEFULLY une ligne. Je l'ai tout fonctionne sauf la partie de dessin.
Vous avez dit que vous "avez les points." Comment les stockez-vous? –
CGPoints contenant les positions de coordonnées du début et de l'arrêt pour chaque "ligne". En ce moment, ils sont détenus par le VC. –