UI手势学习

//

//  RootViewController.m

//  Lesson5_class

//

//  Created by 李洪鹏 on 15/7/4.

//  Copyright (c) 2015年 李洪鹏. All rights reserved.

//

#import "RootViewController.h"

#import "RootView.h"

@interface RootViewController ()

@property (nonatomic, retain)RootView *rootView;

@end

@implementation RootViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {

        // Custom initialization

    }

    return self;

}

- (void)loadView

{

    self.rootView = [[[RootView alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];

    self.view = self.rootView;

    

}

- (void)viewDidLoad

{

    [super viewDidLoad];

    

    self.rootView.ViewController = self;

    

    //UIGestureRecognizer   手势识别的抽象类,一般情况不去使用它,而是去使用他的七个子类

    

    //1. 轻拍手势类

    //创建一个轻拍手势,同时绑定事件

//    UITapGestureRecognizer *aTapGR = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapGRAction:)];

//    

//    //设置轻拍次数

////    aTapGR.numberOfTapsRequired = 3;

//    

//    //设置手指触摸的个数

//    aTapGR.numberOfTouchesRequired = 2;

//    

//    //添加手势

//    [self.rootView addGestureRecognizer:aTapGR];

    

    

    //2.长按手势

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

//    

//    [self.rootView addGestureRecognizer:longpressGR];

//    

//    [longpressGR release];

    

    //3.旋转手势

    

//    UIRotationGestureRecognizer *rotationGR = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotatationGRAction:)];

//    [self.rootView.opeImageView addGestureRecognizer:rotationGR];

    //4 捏合手势

//    

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

//    [self.rootView.opeImageView addGestureRecognizer:poinchGR];

//    [poinchGR release];

//    

//    //5. 平移手势

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

//    [self.rootView.opeImageView addGestureRecognizer:panGR];

//    [panGR release];

    

    //6. 轻扫手势

    UISwipeGestureRecognizer *swipeGR = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swiprGRAction:)];

    //设置滑动方向

    swipeGR.direction = UISwipeGestureRecognizerDirectionDown;

    

    [self.rootView.opeImageView addGestureRecognizer:swipeGR];

    [swipeGR release];

    

    //7 屏幕边缘轻扫证书

    UIScreenEdgePanGestureRecognizer *seGR = [[UIScreenEdgePanGestureRecognizer alloc]initWithTarget:self action:@selector(seGRAction:)];

    [self.rootView.opeImageView addGestureRecognizer:seGR];

    

    [seGR release];

    

}

#pragma mark-------轻拍手势的方法

//- (void)tapGRAction:(UITapGestureRecognizer *)sender

//{

////    [self.rootView.aTextField resignFirstResponder];

//    

//    //让 rootView 停止编辑状态

//    [self.rootView endEditing:YES];

//    

//}

#pragma mark -------长按手势

- (void)longGRAction:(UILongPressGestureRecognizer *)sender

{

    if (sender.state == UIGestureRecognizerStateEnded) {

        self.rootView.backgroundColor = [UIColor colorWithRed:arc4random()%255 / 255.0 green:arc4random()%255 / 255.0  blue:arc4random()%255 / 255.0  alpha:0.9];

        

    }

    

}

#pragma mark-----------旋转手势

- (void)rotatationGRAction:(UIRotationGestureRecognizer *)sender

{

    self.rootView.opeImageView.transform = CGAffineTransformRotate(self.rootView.opeImageView.transform, sender.rotation);

    

    //旋转完角度重新为0  ,相对的问题

    sender.rotation = 0;

    

}

#pragma mark-------捏合手势

//- (void)poinchGRAction:(UIPinchGestureRecognizer *)sender

//{

//    self.rootView.opeImageView.transform = CGAffineTransformScale(self.rootView.opeImageView.transform, sender.scale, sender.scale);

//    

//    //缩放完成之后缩放比例重新置为1

//    sender.scale = 1;

//}

#pragma mark--------平移手势

//- (void)panGRAction:(UIPanGestureRecognizer *)sender

//{

////    NSLog(@"-----------------------");

//    CGPoint point = [sender translationInView:sender.view];

//    self.rootView.opeImageView.transform = CGAffineTransformTranslate(self.rootView.opeImageView.transform, point.x, point.y);

//    

//    [sender setTranslation:CGPointZero inView:sender.view];

//    

//}

#pragma mark------------轻扫手势

- (void)swiprGRAction:(UISwipeGestureRecognizer *)sender

{

    NSLog(@"-----------------");

    

}

- (void)seGRAction:(UIScreenEdgePanGestureRecognizer *)sender

{

    NSLog(@"屏幕边缘轻扫");

}

//- (void)RootViewButtonAction:(UIButton *)sender

//{

//    NSLog(@"卧槽");

//}

- (void)didReceiveMemoryWarning

{

    

}

- (void)dealloc

{

    [_rootView release];

    [super dealloc];

}

@end

原文地址:https://www.cnblogs.com/lhp-1992/p/4620788.html