Est-il possible de définir la position d'une image d'UIImageView?
J'ai un UIImageView
qui affiche une image plus grande. Il semble être centrée, mais je voudrais déplacer l'image à l'intérieur que UIImageView
. J'ai regardé la MoveMe échantillon d'Apple, mais je ne pouvais pas comprendre comment ils le font. Il semble qu'ils n'ont même pas une UIImageView. Des idées?
source d'informationauteur Thanks
Vous devez vous connecter pour publier un commentaire.
Réponse originale à cette question a été remplacé par CoreAnimation en iOS4.
De sorte que l'Or, Pouce dit: vous pouvez le faire en accédant à la UIView de CALayer. Plus spécifiquement son contentRect:
De la Apple Docs: Le rectangle, dans l'unité de coordonnées de l'espace, qui définit la partie de la couche du contenu qui doit être utilisé. Animables.
Ce que vous avez besoin est quelque chose comme (par exemple, en montrant les 30% de 30% de l'angle supérieur gauche de l'image d'origine):
Description de "contentsRect":
Le rectangle, dans l'unité de coordonnées de l'espace, qui définit la partie de la couche du contenu qui doit être utilisé.
Voulez-vous affichage de l'image de sorte qu'elle est contenue dans le UIImageView? Dans ce cas, il suffit de changer le contectMode de UIImageView à UIViewContentModeScaleToFill (si le ratio d'aspect est sans conséquence) ou UIViewContentModeScaleAspectFit (si vous voulez maintenir le ratio d'aspect)
De l'IB, ce qui peut être fait par le réglage de la Mode dans l'Inspecteur.
Dans le code, il peut être fait comme
Dans le cas où vous souhaitez afficher l'image de grande taille comme c'est à l'intérieur d'une UIImageViewla plus simple et la meilleure façon de le faire serait d'avoir l'affichage de l'image à l'intérieur d'un UIScrollView. Les moyens, vous serez en mesure de zoomer dans l'image et aussi le déplacer.
Espère que ça aide.
Il ne ressemble pas à la MoveMe de l'échantillon n'a rien de semblable à ce que vous voulez. Le PlacardView dans elle est de la même taille que l'image utilisée. Le seul changement de taille fait c'est une vue de transformer, ce qui n'est pas l'effet de la fenêtre d'affichage de l'image. Si je comprends bien, vous avez une image de grande taille, et que vous voulez afficher une petite fenêtre d'affichage. Il n'est pas une simple méthode de classe pour ce faire, mais il y a une fonction que vous pouvez utiliser pour obtenir les résultats souhaités: CGImageCreateWithImageInRect(CGImageRef, CGRect) va vous aider.
Voici un petit exemple d'utilisation:
Merci beaucoup. J'ai trouvé une jolie solution simple qui ressemble à ceci:
Je viens de déplacer le cadre autour. Il arrive que des parties de l'image en sortir de l'iPhone, vue port, mais j'espère que ce ne sera pas question beaucoup. Il y a un masque sur elle, de sorte qu'il n'a pas l'air bizarre. L'utilisateur n'a pas totice comment c'est fait.
Vous pouvez faire la même chose en: