2010-03-10 5 views
1

Dans mon application, j'ai un ScrollView qui montre une carte (juste un jpeg). En plus du ScrollView, j'ai ajouté quelques pins (UIImageView) Jusqu'ici tout va bien. Mais quand je zoome, les broches deviennent aussi plus grandes. Je voudrais que les broches restent à une taille fixe, tout comme les broches de l'application google map sur l'iPhone.UIScrollVoir la carte avec des épingles qui restent à une taille fixe?

Comment résoudre ce problème?

Merci!

+0

Jetez un oeil à la question précédente presque identique here Andiih

Répondre

1

J'ai regardé ceci pendant quelques jours et j'en suis arrivé à la conclusion qu'il n'y a actuellement aucun bon moyen de faire ceci.

D'abord, placez vos broches comme une sous-vue directe de l'UIScrollView. Maintenant, ils resteront de la même taille, mais se déplaceront lorsque vous zoomez. Dans la version du système d'exploitation> = 3,2 dans UIScrollViewDelegate, il y a -scrollViewDidZoom :, où vous pouvez mettre à jour les broches vers les coeurs de droite pendant le défilement, et cela fonctionne très bien. Mais en 3.1, nous n'avons pas de chance. J'ai essayé d'avoir un NSTimer en cours et de mettre à jour les coeurs à la place, mais ce n'est pas performant sur l'appareil. Comme un repli, ce que je fais est de cacher les broches lorsque le zoom commence (viewForZoomingInScrollView) et lorsque le zoom se termine (scrollViewDidEndZooming) mettre à jour leurs coordonnées et les afficher.

1

Créez un conteneur UIView de la même taille que la carte. Ajoutez la carte à l'UIView avec autoresizing de la largeur et de la taille flexibles. Ajouter toutes les broches en tant qu'images individuelles, chacune avec des marges flexibles. Utilisez le conteneur comme vue de zoom.

Si l'autoresizing du système ne conserve pas le taux de marge, vous pouvez implémenter layoutSubviews dans une vue de conteneur personnalisée.

+0

bien que je l'ai fait, tous mes sous-vues de mon conteneur sont redimensionnés. Pas parfait parce que j'aimerais que les positions de mes épingles restent les mêmes là où sa taille est la même. à votre façon, le cadre est bon, mais la taille a également changé ... – Vassily

Questions connexes