In this application we will see how to image moved ,using touch function we will shift images any where of the screen.
Step 1: Create a View base application using template. Give the application name “RotateImage”.
Step 2: Xcode automatically creates the directory structure and adds essential frameworks to it. You can explore the directory structure to check out the content of the directory.
Step 3: Xpand classes and notice Interface Builder created the RotateImageViewController class for you. Expand Resources and notice the template generated a separate nib,RotateImageViewController.xib, for the “RotateImage”.
Step 4: We need to add UIView class in the project. Select Classes -> Add -> New File -> Cocoa Touch Class -> Objective C class -> select UIView from the Subclass of. Give the file name “ImageView”.
Step 5: We have added one resource in the Resources folder. Give the name of the resource “1.png”.
Step 6: In the ImageView.h file, we specified the superclass as a UIImageView. So make the following changes in the file:
@interface ImageView : UIImageView {
}
Step 7: Open the ImageView.m file , make the following changes in the file.
if (self = [super initWithImage:image]) {
[self setUserInteractionEnabled:YES];
[self setMultipleTouchEnabled:YES];
} return self;
}
- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
if ([touches count] == 1) {
CGPoint newTouch = [[touches anyObject] locationInView:[self superview]];
CGPoint lastTouch = [[touches anyObject] previousLocationInView: [self superview]];
float xDif = newTouch.x - lastTouch.x;
float yDif = newTouch.y - lastTouch.y;
CGAffineTransform translate = CGAffineTransformMakeTranslation(xDif, yDif);
[self setTransform: CGAffineTransformConcat([self transform], translate)];
}
}
Step 8: In the the RotateImageViewController.h file we have import “ImageView.h” file.
Step 9: Open the RotateImageViewController.m file, we create ImageView and make it visible. So make the following changes in the file.
[super viewDidLoad];
ImageView* imageView = [[ImageView alloc] initWithImage:[UIImage imageNamed:@"1.png"]];
[imageView setFrame:CGRectMake(110, 180, [imageView frame].size.width,[imageView frame].size.height)];
[[self view] addSubview:imageView];
[imageView release];
}
Step 10: Now compile and run the application in the Simulator.
You can Download SourceCode from here RotateImage