2010-09-23 33 views
0

Le scénario est que j'ai un UIViewController contenant plusieurs "InteractiveUIImageViews" (hérités de UIImageView) contenant chacun leur propre UIImage. Dans InteractiveUIImageView, j'ai implémenté des méthodes pour touchesBegan, touchesMoved et touchEnded pour gérer leur mouvement et leur comportement à l'écran. Certains objets de ce type seront définis comme des «conteneurs» (pensez à la corbeille) dans le but que lorsqu'une image est déplacée sur elle, elle sera retirée de l'écran et placée à l'intérieur pour être éventuellement récupérée plus tard. Ma pensée actuelle serait d'appeler une nouvelle méthode dans UIViewController à partir de la méthode touchesEnded de mon InteractiveUIImageView mais étant nouveau à tout cela, je ne suis pas vraiment sûr de la façon de faire cela (par exemple, appeler une méthode du 'parent'). ') ou en effet si c'est le meilleur moyen de réaliser ce que je veux faire.Recherche de conseils sur la détection du chevauchement de UIImageViews

Merci d'avance pour tout conseil.

Répondre

0

J'ai peur que votre question soit (trop moi au moins) un peu floue. Je comprends que vous essayez de faire glisser un UIImage autour d'une scène et de le déposer dans des drop-emplacements.

Ce qui n'est pas clair, c'est votre hiérarchie de classes. Je crois que vous vous y prenez mal. Vous ne devriez pas avoir à sous-classer UIImage du tout. Au lieu de cela, je vous invite à laisser le UIViewController gérer le mouvement des images. Lorsque vous touchez une image, vous touchez également sa vue parent (contenant). Ce que vous devez faire est alors de repositionner le UIImage (tous gérés par le UIViewController) lorsque vous faites glisser l'image à travers l'écran. Quand vous lâchez, vous vérifiez si votre doigt était à l'intérieur de votre zone de largage lors de la retouche.