UIImageView01

//
//  ViewController.m
//  UIImageView01
//
//  Created by cqy on 16/2/13.
//  Copyright © 2016年 程清杨. All rights reserved.
//

#import "ViewController.h"

@interface ViewController (){
    UIImageView *img;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    //创建UIImageView
    //通过图⽚名来初始化⼀个UIImageView类。
    img = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"cat01"]];
    img.frame = CGRectMake(120, 220, 200, 300);
    [self.view addSubview:img];
    //注意:ImageView的默认是NO,是关闭交互。要将userInteractionEnabled(响应者链是否交互)设置为YES
    img.userInteractionEnabled = YES;
    //添加手势
    //轻拍⼿势:
    //创建轻拍手势识别器
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
      [self->img addGestureRecognizer:tap];
    // ⻓按⼿势
    UILongPressGestureRecognizer *longPress =
    [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(longPressAction:)];
    longPress.minimumPressDuration = 0.5;
    [self->img addGestureRecognizer:longPress];
    //旋转⼿势
    // 旋转
    UIRotationGestureRecognizer *rotation =
    [[UIRotationGestureRecognizer alloc]initWithTarget:self action:@selector(rotationAction:)];
    [self->img addGestureRecognizer:rotation];
   // 捏合⼿势:
    UIPinchGestureRecognizer *pinch =
    [[UIPinchGestureRecognizer alloc]initWithTarget:self action:@selector(pinchAction:)];
    [self->img addGestureRecognizer:pinch];
   // 平移⼿势:
    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(panAction:)];
    [self->img addGestureRecognizer:pan];
    //轻扫
   
   
    // Do any additional setup after loading the view, typically from a nib.
}
// 轻拍⼿势响应⽅法
- (void)tapAction:(UITapGestureRecognizer *)sender{
    NSLog(@"我是轻拍⼿势..");
    // 换图⽚
    // 获取⼿势图⽚
    UIImageView *temp = (UIImageView *)sender.view;
    temp.image = [UIImage imageNamed:@"cat02"];
}
// ⻓按响应⽅法
- (void)longPressAction:(UILongPressGestureRecognizer *)sender{
    NSLog(@"⻓按⼿势");
   
    if (sender.state == UIGestureRecognizerStateBegan) {
        NSLog(@"⻓按开始..");
        [UIView animateWithDuration:1 animations:^{
            // 修改view的frame
            CGRect temp1 = sender.view.frame;
            temp1.size.width +=50;
            temp1.size.height +=50;
            // 修改完成附回
            sender.view.frame = temp1;
            sender.view.alpha = 0.4;
        }];
    }else if (sender.state == UIGestureRecognizerStateEnded){
        NSLog(@"⻓按结束..");
        [UIView animateWithDuration:1 animations:^{
            // 修改view的frame
            CGRect temp1 = sender.view.frame;
            temp1.size.width -=50;
            temp1.size.height -=50;
            // 修改完成附回
            sender.view.frame = temp1;
            sender.view.alpha = 1;
        }];
    } 
}
// 旋转⼿势响应⽅法
- (void)rotationAction:(UIRotationGestureRecognizer *)sender{
    NSLog(@"我是旋转⼿势..");
    sender.view.transform =
    CGAffineTransformRotate(sender.view.transform,
                            sender.rotation);
    sender.rotation = 0;
}
// 捏合⼿势响应⽅法
- (void)pinchAction:(UIPinchGestureRecognizer *)sender{
    NSLog(@"我是捏合⼿势");
    sender.view.transform =
    CGAffineTransformScale(sender.view.transform, sender.scale,
                           sender.scale);
    sender.scale = 1;
}
// 平移⼿势响应⽅法
- (void)panAction:(UIPanGestureRecognizer *)sender{
    NSLog(@"我是平移⼿势..");
    CGPoint point = [sender translationInView:sender.view];
    sender.view.transform =
    CGAffineTransformTranslate(sender.view.transform, point.x,
                               point.y);
    // 将偏移量归零
    [sender setTranslation:CGPointZero inView:sender.view];
}



- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end
posted @ 2016-02-16 16:45  NextXavier  阅读(103)  评论(0编辑  收藏  举报