Question

Je suis juste en train de planifier une nouvelle application ... Je veux avoir une série d'images qu'un utilisateur peut faire glisser autour de l'écran et où ils veulent laisser tomber.

Je pense que je vais avoir un tableau (NSMutableArray) de toutes les images. lorsque les charges d'application, il attirera ces vers un UIView ... alors scrollable l'application saura qu'un utilisateur a pressé et traîné dans la vue principale.

Je peux le code si une image peut être déplacée, mais je ne suis pas sûr de savoir comment appliquer le même code pour un nombre n d'images. Par exemple, dans mon contrôleur de vue, je mets IBOutlet UIImage *image qui IB je peux relier et de contrôle .... mais comment voulez-vous changer cette option pour appliquer à un certain nombre d'images?

Je l'ai essayé la recherche de ce matin, mais tous ne l'ai pas eu beaucoup de chance.

Je pense que je avais besoin d'appliquer une classe à chaque image que je dessine sur le tableau. Je suis juste après un petit conseil ici vraiment - me montrant peut-être dans la bonne direction?

Merci pour toute info !!

Était-ce utile?

La solution

D'abord, vous devez séparer logiquement vos données, dans ce cas les images, des vues qui les affichent. Pour afficher et les images de position que vous les mettre UIImageViews. Les images doivent être stockées dans un certain type de structure de données par exemple tableau, dictionnaire, base de données, etc. Ensuite, vous devez les charger dans un ou plusieurs UIImageViews au besoin.

Si vous avez un nombre très variable d'éléments d'interface, il est préférable de créer les éléments variables programatically. Dans votre cas, vous câbler dans Interface Builder les éléments fixes comme le scrollview. Puis, quand vous avez besoin d'ajouter une image que vous initialisez un UIImageView avec un positionnement de cadre où vous le souhaitez dans le scrollview. Ensuite, vous définissez la propriété d'image UIImageView à l'image que vous voulez. Ensuite, vous ajoutez le imageView au scrollview comme sous-vue.

Si vous devez suivre le imageView vous devez créer une propriété pour la vue englobante et attribuer à chaque imageView ajouté à son tour. De cette façon, vous concentrer sur des méthodes spécifiques du imageView sélectionné.

Vous ne devez être conscient du fait que le suivi des touches dans un UIScrollView peut présenter des défis parce que le ScrollView doit piéger tous les touche pour voir si elle a besoin de faire défiler.

Autres conseils

Matt Facer vient de poster une question qui comprend plus ou moins le code que vous parlez.

UIImage de détection tactile et en faisant glisser

La réponse courte est que vous ne créez pas les UIImages dans IB. Vous allez créer le programme et les ajouter à la vue principale que vous avez besoin. L'événement UITouch peut être utilisé pour déterminer le point de vue qui a été touché.

Il n'y a probablement pas besoin d'un tableau ici; un NSMutableSet est plus logique moins qu'il y ait une raison particulière pour préserver l'ordre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top