06

- (void)viewDidLoad {

    [super viewDidLoad];

    

    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 275, 500)];

    

    imageView.image = [UIImage imageNamed:@"mao.jpg"];

    

    imageView.userInteractionEnabled = YES;

    

    

    // 1.创建满足需求的手势,在创建时关联手势触发时的方法

    // 2.配置手势的相关属性

    // 3.将手势添加到需要执行操作的视图上面

    // 4.实现手势方法,当触摸发生,手势识别器识别到相对应的触摸时,就会执行关联的方法

    

    

    

    

    // 轻拍手势UITapGestureRecognizer

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];

    // 设置属性

    // 1. 触发手势的手指个数

    tap.numberOfTouchesRequired = 1;

    // 2. 触发手势的轻拍次数

    tap.numberOfTapsRequired = 2;

    // 让imageView添加轻拍手势

    [imageView addGestureRecognizer:tap];

     

    [tap release];

    

    

    

    

//    // 轻扫手势UISwipeGestureRecognizer

//    UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeAction:)];

//    // 指定轻扫的方向

//    swipe.direction = UISwipeGestureRecognizerDirectionDown;

//    

//    [imageView addGestureRecognizer:swipe];

//    

//    [swipe release];

    

    

    

    // 长按手势UILongPressGestureRecognizer

//    UILongPressGestureRecognizer *longpress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longressAction:)];

//    // 长按手势触发的最短时间,默认是0.5

//    longpress.minimumPressDuration = 3.0;

//    

//    [imageView addGestureRecognizer:longpress];

//    

//    [longpress release];

    

    

    

    

//    // 缩放

//    UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchAction:)];

//    

//    [imageView addGestureRecognizer:pinch];

//    [pinch release];

    

    

    

    //旋转

    UIRotationGestureRecognizer *rotate = [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(rotateAction:)];

    [imageView addGestureRecognizer:rotate];

    [rotate release];

    

    

    

     //平移

//    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAction:)];

//    [imageView addGestureRecognizer:pan];

//    [pan release];

    

    

    

    [self.view addSubview:imageView];

    [imageView release];

    // Do any additional setup after loading the view.

}

 

- (void)tapAction:(UITapGestureRecognizer *)tap {

    // 获取手势关联的视图

    UIImageView *imageView = (UIImageView *)tap.view;

    // 修改图片

    [imageView setImage:[UIImage imageNamed:@"zhonger.jpg"]];

}

- (void)swipeAction:(UISwipeGestureRecognizer *)swipe {

    // 获取手势关联的视图

    UIImageView *imageView = (UIImageView *)swipe.view;

    // 修改图片

    [imageView setImage:[UIImage imageNamed:@"zhonger.jpg"]];

}

- (void)longressAction:(UILongPressGestureRecognizer *)longress {

    UIImageView *imageView = (UIImageView *)longress.view;

    [imageView setImage:[UIImage imageNamed:@"zhonger.jpg"]];

}

 

 

 

- (void)pinchAction:(UIPinchGestureRecognizer *)pinch {

    // 获取要进行缩放的视图

    UIImageView *imageView = (UIImageView *)pinch.view;

    

    // 改变imageView 的变形属性

    imageView.transform = CGAffineTransformScale(imageView.transform, pinch.scale, pinch.scale);

    pinch.scale = 1;

      //有回弹效果

//    imageView.transform = CGAffinTransformMakeScale(pinch.scale, pinch.scale);

    

}

 

- (void)rotateAction:(UIRotationGestureRecognizer *)rotate {

    // 获取想要旋转的视图

    UIImageView *imageView = (UIImageView *)rotate.view;

    // 改变imageView的形变属性

//    imageView.transform = CGAffineTransformMakeRotation(rotate.rotation);

    

    imageView.transform = CGAffineTransformRotate(imageView.transform, rotate.rotation);

    rotate.rotation = 0;

}

 

- (void)panAction:(UIPanGestureRecognizer *)pan {

    // 获取想要平移的视图

    UIImageView *imageView = (UIImageView *)pan.view;

    

    CGPoint p = [pan translationInView:imageView];

    

    // 改变视图的变形属性

    imageView.transform = CGAffineTransformTranslate(imageView.transform, p.x, p.y);

    

    [pan setTranslation:CGPointZero inView:imageView];

}

 

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

 

posted @ 2016-02-23 08:45  whwhll  阅读(180)  评论(0编辑  收藏  举报