调用系统手势完成动画
//
// MyImageViewController.m
// MyImageView
//
// Created by lanou on 12-12-19.
// Copyright (c) 2012年 lanou. All rights reserved.
//
#import "MyImageViewController.h"
@interfaceMyImageViewController ()
@end
@implementation MyImageViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
returnself;
}
-(void)loadView
{
self.view = [[[UIViewalloc]initWithFrame:CGRectMake(0, 0, 320, 480)]autorelease];
self.view.backgroundColor = [UIColorwhiteColor];
NSArray * arr = [NSArrayarrayWithObjects:@"单击",@"移动",@"缩放",@"旋转",@"长按",@"轻扫", nil];
self.seg = [[UISegmentedControlalloc]initWithItems:arr];
self.seg.selectedSegmentIndex = 1;
self.seg.frame = CGRectMake(0, 500, 320, 40);
[self.segaddTarget:selfaction:@selector(touchWay:) forControlEvents:UIControlEventValueChanged];
[self.viewaddSubview:self.seg];
self.imageView = [[UIImageViewalloc]initWithFrame:CGRectMake(10, 80, 300, 300)];
UIImage *image = [UIImageimageNamed:@"lanou.png"];
self.imageView.userInteractionEnabled = YES;
[self.imageViewsetImage:image];
[self.viewaddSubview:self.imageView];
//点击
self.tap = [[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(tap:)];
self.tap.numberOfTapsRequired = 2;
//移动
self.pan = [[UIPanGestureRecognizeralloc]initWithTarget:selfaction:@selector(pan:)];
//缩放
self.pinch = [[UIPinchGestureRecognizeralloc]initWithTarget:selfaction:@selector(pinch:)];
//旋转
self.rotate = [[UIRotationGestureRecognizeralloc]initWithTarget:selfaction:@selector(rotate:)];
//长按
self.longPress = [[UILongPressGestureRecognizeralloc]initWithTarget:selfaction:@selector(longPress:)];
self.longPress.minimumPressDuration = 2;
//轻扫
self.swip = [[UISwipeGestureRecognizeralloc]initWithTarget:selfaction:@selector(swip:)];
[self.swiprelease];
[self.taprelease];
[self.longPressrelease];
[self.rotaterelease];
[self.pinchrelease];
[self.segrelease];
[self.imageViewrelease];
}
-(void)touchWay:(UISegmentedControl *)seg
{
for (UIGestureRecognizer *ges inself.imageView.gestureRecognizers) {
[self.imageViewremoveGestureRecognizer:ges];
}
switch (seg.selectedSegmentIndex)
{
case 0:
[self.imageViewaddGestureRecognizer:self.tap];
break;
case 1:
[self.imageViewaddGestureRecognizer:self.pan];
case 2:
[self.imageViewaddGestureRecognizer:self.pinch];
break;
case 3:
[self.imageViewaddGestureRecognizer:self.rotate];
break;
case 4:
[self.imageViewaddGestureRecognizer:self.longPress];
break;
default:
break;
}
}
-(void)tap:(UITapGestureRecognizer *)seg
{
self.view.backgroundColor = [UIColorcolorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1];
}
-(void)pinch:(UIPinchGestureRecognizer *)pinch
{
float scale = [pinch scale];
CGRect bounds = [[pinch view]bounds];
bounds.size.width *= scale;
bounds.size.height *=scale;
[pinch view].bounds = bounds;
pinch.scale = 1;
}
-(void)pan:(UIPanGestureRecognizer *)pan
{
CGPoint p = [pan translationInView:pan.view];
pan.view.transform = CGAffineTransformMakeTranslation(p.x, p.y);
}
-(void)rotate:(UIRotationGestureRecognizer *)rotate
{
[rotate view].transform = CGAffineTransformMakeRotation(rotate.rotation);
}
-(void)longPress:(UILongPressGestureRecognizer *)longPess
{
self.view.backgroundColor = [UIColorcolorWithRed:arc4random()%256/255.0 green:arc4random()%256/255.0 blue:arc4random()%256/255.0 alpha:1];
}
-(void)swip:(UISwipeGestureRecognizer *)swip
{
// [swip view].transform = CGAffineTransformEqualToTransform(<#CGAffineTransform t1#>, <#CGAffineTransform t2#>)
}
- (void)viewDidLoad
{
[superviewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning
{
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end