2010-09-20 6 views
0

J'ai de nombreuses photos en format portrait et paysage. Je veux être en mesure d'afficher un "recadrage" de la photo dans un UIImageView sur l'iphone. Si l'image est au format paysage, je veux la redimensionner pour qu'elle corresponde au cadre, si elle est en format portrait, il faut la redimensionner pour qu'elle corresponde à la largeur, puis la rogner en haut et en bas. Comme s'il y avait une "fenêtre" sur l'image - donc cela ressemble à une image de paysage.Image "cadre/fenêtre" sur l'iphone

Il serait encore mieux si cela pouvait être un UIButton - bien que je sache que je peux utiliser touchesBegan et tel sur les images pour le faire se comporter comme un bouton si nécessaire.

Merci pour toute aide que vous pouvez me donner.

Merci Tom

Répondre

1

Dans un ImageView, vous pouvez changer le mode d'affichage pour remplir Aspect. Il vous donnera la bonne échelle/recadrage que vous voulez.

Pour les interactions, vous pouvez utiliser un bouton Personnalisé sans aucun dessin (pas de titre, pas d'image, pas d'arrière-plan) de la même taille que votre ImageView. Ce serait sûr en ce qui concerne l'aspect de l'image. J'ai essayé des choses similaires en utilisant les propriétés Background ou Image du bouton, cela peut avoir des effets indésirables (j'ai rencontré un problème de redimensionnement sur iOS 3.1.3 par exemple).

+0

va essayer ça merci. :) –

0

1 °) Pour recadrer l'image, essayez d'ajouter une méthode à la classe UIImage pour le faire (vous pouvez le google sans problème, ou même sur Stackoverflow)

2 °) Pour ajouter une "fenêtre" sur votre image, ajoutez simplement un UIImageView sur votre image qui a de la transparence. Cela devrait fonctionner ;-)

3 °) Pour savoir quand une image est touchée, vous pouvez utiliser "touchesBegan" pour détecter quelle image a été sélectionnée. Mais je pense que c'est le dernier de tes problèmes ^^

Ce que tu ne peux pas réaliser n'est pas si difficile, juste étape par étape! Si vous voulez plus d'aide en une seule étape, dites-le. Mais je ne peux pas coder tout pour vous ;-)

Bonne chance

+0

merci pour votre commentaire. :) un peu vague cependant, n'a pas vraiment aidé. néanmoins, merci pour votre temps. :) –