J'ai un UIImageView
qui affiche une image plus grande. Il semble être centré, mais je voudrais déplacer cette image à l'intérieur UIImageView
. J'ai regardé l'échantillon MoveMe d'Apple, mais je ne pouvais pas comprendre comment ils le font. Il semble qu'ils n'ont même pas UIImageView pour cela. Des idées?Est-il possible de définir la position d'une image d'UIImageView?
Répondre
La réponse originale a été remplacée par CoreAnimation dans iOS4.
Donc, comme l'indique Gold Thumb: vous pouvez le faire en accédant au CALayer de UIView. Spécifiquement son contenuRect:
Depuis le Apple Docs: Le rectangle, dans l'espace de coordonnées de l'unité, qui définit la partie du contenu de la couche qui doit être utilisée. Animable.
L'exemple MoveMe ne ressemble pas à ce que vous voulez. Le PlacardView dans lui est la même taille que l'image utilisée. Le seul changement de taille effectué est une transformation de vue, qui n'affecte pas la fenêtre de l'image. Si je comprends bien, vous avez une grande image, et vous voulez montrer une petite fenêtre. Il n'existe pas de méthode de classe simple pour cela, mais il existe une fonction que vous pouvez utiliser pour obtenir les résultats souhaités: CGImageCreateWithImageInRect (CGImageRef, CGRect) vous aidera.
Voici un court exemple utiliser:
CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);
[UIImageView setImage:[UIImage imageWithCGImage:imageRef]];
CGImageRelease(imageRef);
Voulez-vous afficher l'image afin qu'elle soit 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)
Dans IB, cela peut être fait en réglant le mode dans l'inspecteur.
Dans le code, il peut être fait comme
yourImageView.contentMode = UIViewContentModeScaleToFill;
Si vous souhaitez afficher la grande image est à l'intérieur d'un UIImageView, le meilleur et le plus simple de le faire serait d'avoir l'image vue à l'intérieur d'un UIScrollView. De cette façon, vous serez en mesure de zoomer et dézoomer dans l'image et également le déplacer.
Espérons que cela aide.
Merci beaucoup. J'ai trouvé une solution assez simple qui ressemble à ceci:
CGRect frameRect = myImage.frame;
CGPoint rectPoint = frameRect.origin;
CGFloat newXPos = rectPoint.x - 0.5f;
myImage.frame = CGRectMake(newXPos, 0.0f, myImage.frame.size.width, myImage.frame.size.height);
Je viens de déplacer le cadre. Il arrive que des parties de ce cadre sortent du port de vue de l'iPhone, mais j'espère que cela n'aura pas d'importance. Il y a un masque dessus, donc ça n'a pas l'air bizarre. L'utilisateur ne précise pas comment cela est fait.
Vous pouvez accomplir la même chose en:
UIImageView *imgVw=[[UIImageView alloc]initwithFrame:CGRectMake(x,y,height,width)];
imgVw.image=[UIImage imageNamed:@""];
[self.view addSubView imgVw];
imgVw.contentMode = UIViewContentModeScaleToFill;
Qu'est-ce que vous avez besoin est quelque chose comme (par exemplereprésentant les 30% de 30% de l'angle supérieur gauche de l'image d'origine):
imageView.layer.contentsRect = CGRectMake(0.0, 0.0, 0.3, 0.3);
Description « contentsRect »: Le rectangle, dans l'unité espace de coordonnées, qui définit la partie du contenu de la couche qui Devrait être utilisé.
Pourquoi le downvote? Cela fonctionne parfaitement si vous définissez 'contentMode' d'imageView à' UIViewContentModeScaleAspectFill'. Veillez également à activer 'clipsToBounds'. –
- 1. TextField() Définir la position caret
- 2. iPhone> Définir la position d'un contrôle
- 3. jQuery Définir la position de la souris (pas la position du curseur)
- 4. Comment définir la position de ASP.NET Ajax ModalPopupExtender?
- 5. Comment puis-je définir la position de défilement d'un UIScrollView?
- 6. Comment définir la position de fond à une distance absolue, en partant de la droite?
- 7. Comment puis-je définir une image à une autre position fixe par l'option tactile?
- 8. Javascript: Est-il possible d'obtenir la position de la souris en dehors d'un gestionnaire d'événements?
- 9. comment définir la position de la barre de défilement dans le panneau de formulaire Windows (C#)
- 10. Contrôle de la position d'une image chargée dans UIImageView affiché dans la barre de navigation
- 11. Est-il possible de définir la propriété privée par réflexion?
- 12. Est-il possible de définir un TitledBorder opaque sur Swing?
- 13. Comment changer la position de l'image interne d'un UIImageView?
- 14. Quel sélecteur CSS doit définir la propriété background-image?
- 15. Obtenir la position de pdfptable
- 16. Obtenir la position de JPopupMenu
- 17. Réglage de la position de la souris
- 18. sprites image SVG? Possible ou pas?
- 19. Est-il possible de changer la position de <tr> générée par css?
- 20. Comment contrôler la position d'une image dans une cellule groupview de table?
- 21. Communication inter-image dans Smalltalk. Possible?
- 22. Comment définir la position de UIImageView par rapport aux vues frère
- 23. Quel événement listbox dois-je utiliser pour définir la position de défilement
- 24. TinyMCE - position de la barre d'outils externe
- 25. Obtenir la position de la roue PhysX
- 26. TSaveDialog position
- 27. Est-il possible de définir le début de la semaine pour la fonction T-SQL DATEDIFF?
- 28. CSS position de défilement par défaut
- 29. WPF MediaElement Freezing sur la dernière image lors du réglage Position
- 30. La lumière OpenGL scintille lorsque je mets à jour sa position à chaque image
Incorrect. Voir la réponse @ GoldThumb. –
Juste au moment de l'affichage (2009!) J'ai mis à jour la réponse pour pointer vers CALayer –
Cool! Merci pour la correction. –