2009-04-02 5 views
0

J'ai défini un UIImageView dans ma plume. Une fois l'application lancée, j'affiche une image dans cette UIImageView. Peut-être que je suis sur la mauvaise voie, mais ce que je veux faire est le suivant:Comment changer la position de l'image interne d'un UIImageView?

L'image que je charge dans la vue est plus grande que la vue elle-même. Je veux qu'il soit affiché en taille originale avec superposition cachée. Ensuite, je veux déplacer lentement cette image dans cette vue dans des directions aléatoires. Peut-être connaissez-vous les conteneurs div html avec des images d'arrière-plan. là, vous pouvez définir une position de cette image de fond et changer cette position avec JavaScript. J'ai besoin de quelque chose de similaire sur iPhone.

Peut-être qu'un UIImageView n'est pas la bonne chose pour cela? Ou dois-je définir UIImageView à la taille de cette image, puis déplacer lentement UIImageView? Pourrait-il être plus grand que l'écran de l'iPhone?

Répondre

1

Tel est le sens de ma réponse à peu près la même question:

Il n'y a pas une méthode simple 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) vous aidera.

Voici un court exemple utiliser:

CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect); 
[UIImageView setImage:[UIImage imageWithCGImage:imageRef]]; 
CGImageRelease(imageRef); 
+0

Je pense que pour le déplacer, ce serait mauvais à la performance si une culture grande image 15 fois par seconde. Je déplace juste le cadre maintenant, qui a la taille de l'image. fonctionne bien pour moi :) mais merci, ce code de recadrage peut être utile aussi. – Thanks

Questions connexes