Tutorial :How can I change the inner image position of an UIImageView?


I have defined an UIImageView in my nib. After the app launches, I display an image in that UIImageView. Maybe I am on the wrong way, but what I want to do is the following:

The image which I load into the view is bigger than the view itself. I want that it is displayed in original size with hidden overlay. Then I want to slowly move that image inside that view in random directions.

Maybe you know html div containers with background images. there, you can set a position of that background image and change that position with JavaScript. I need something similar on iPhone.

Maybe an UIImageView is not the right thing for that? Or must I set the UIImageView to the full size of that image and then move the UIImageView around slowly? Could it be bigger than the iPhone's screen?


You need to crop the image. See Lounges' answer to this question.


This is the gist of my answer to pretty much the same question:

There isn't a simple class method to do this, but there is a function that you can use to get the desired results: CGImageCreateWithImageInRect(CGImageRef, CGRect) will help you out.

Here's a short example using it:

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

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »