2009-10-24 5 views
0

J'ai une vue (MKMapView) et j'ai une vue transparente sur laquelle je dessine différentes choses. Maintenant, je voudrais donner à l'utilisateur la possibilité d'effacer les choses afin que la "vue de fond" (la mapView) soit visible dans les endroits effacés. Pensez-vous que c'est possible?iphone sdk: J'ai un problème de dessin au quartz

Merci

Répondre

0

Vous pouvez simplement définir alpha de cette vue sur 0.0f. Et si vous devez effacer, vous pouvez appeler [self setNeedsToDisplay]. Cela va redessiner vos éléments de quartz. Là, vous pouvez ajouter un drapeau, qui vous permettra de dessiner seulement quand il le faut.

+0

Je pensais déjà à ce sujet. Où suis-je pour mettre ce "flog"? Sera-ce sur chaque pixel? Il existe une application appelée ShowGirl. Là vous avez une couche qui cache une image. L'utilisateur touche des zones et elles sont révélées. Je voudrais atteindre cet effet. – Alex1987

+0

Non, pas sur chaque pixel. Chaque fois que vous appelez [self setNeedsToDisplay]; méthode, la méthode drawRect: de votre classe est appelée. Il va nettoyer toutes les données précédentes et les dessiner à partir de zéro. – Morion

+0

Mais vous devez dire à drawRect où dessiner et où ne pas. Supposons que j'ai un cercle noir. Ensuite, l'utilisateur bouge avec ses doigts et efface des parties de celui-ci. Comment dessine-t-on de ne pas dessiner quelque chose où l'utilisateur a effacé? – Alex1987

Questions connexes