zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    士兵队列训练问题http://acm.hdu.edu.cn/showproblem.php?pid=1276
    Fence Repair http://poj.org/problem?id=3253
    A/B http://acm.hdu.edu.cn/showproblem.php?pid=1576
    房间安排http://acm.nyist.net/JudgeOnline/problem.php?pid=168
    Function Run Fun http://poj.org/problem?id=1579
    盗梦空间http://acm.nyist.net/JudgeOnline/problem.php?pid=125
    如何在Chrome中使用”并非来自Chrome网上应用店”的扩展程序
    C++中的函数指针模板
    C/C++中的源文件与头文件的区别
    C++同名函数的各种问题
  • 原文地址:https://www.cnblogs.com/lhp-1992/p/4620788.html
Copyright © 2011-2022 走看看