zoukankan      html  css  js  c++  java
  • IOS-开发中手势的处理

    手势识别
    一、1.点按
    UITapGestureRecognizer
    2.长按
    UILongPressGestureRecognizer
    if (UIGestureRecognizerStateBegan == recongnizer.state) {//如果自己的状态等于开始
    [recongnizer.view setTransform:CGAffineTransformMakeRotation(M_PI)];//就设置transform旋转属性为180;
    }else if(UIGestureRecognizerStateEnded == recongnizer.state){
    [recongnizer.view setTransform:CGAffineTransformIdentity];
    }
    3.拖动
    UIPanGestureRecognizer
    if (recongnizer.state == UIGestureRecognizerStateChanged) {
    CGPoint deltaPoint = [recongnizer translationInView:self.view];//判断在父视图平移的位置
    recongnizer.view.transform = CGAffineTransformMakeTranslation(deltaPoint.x, deltaPoint.y);
    }else if(recongnizer.state == UIGestureRecognizerStateEnded){
    recongnizer.view.transform = CGAffineTransformIdentity;
    }
    4.捏合
    UIPinchGestureRecognizer
    if (recongnizer.state == UIGestureRecognizerStateChanged) {
    recongnizer.view.transform = CGAffineTransformMakeScale(recongnizer.scale, recongnizer.scale);
    }else if(recongnizer.state == UIGestureRecognizerStateEnded){
    [UIView animateWithDuration:0.5 animations:^{
    recongnizer.view.transform = CGAffineTransformIdentity;
    }];
    }
    5.清扫
    UISwipeGestureRecognizer
    if (recongnizer.direction == UISwipeGestureRecognizerDirectionUp) {
    NSLog(@"向上");
    }else if (recongnizer.direction == UISwipeGestureRecognizerDirectionDown){
    NSLog(@"向下");
    }else if (recongnizer.direction == UISwipeGestureRecognizerDirectionLeft){
    NSLog(@"向左");
    }else if (recongnizer.direction == UISwipeGestureRecognizerDirectionRight){
    NSLog(@"向右");
    }
    6.旋转
    UIRotationGesturecognizer
    if (recongnizer.state == UIGestureRecognizerStateChanged) {
    recongnizer.view.transform = CGAffineTransformMakeRotation(M_PI);
    }
    二、综上所述:发现
    1>捏合,拖动,旋转,都需要判断状态改变和状态结束
    2>清扫需要设置方向,并且判断方向,默认是向右清扫
    3>长按需要判断状态开始,和状态结束
    4>其他可按需求判断

  • 相关阅读:
    避免数据脏读
    OGG配置文件中参数化的运用
    GoldenGate基于中间队列文件的初始化
    一次linux中毒,挖矿病毒
    goldengate新版本中查看日志读取点
    dlopen用法参数flag介绍
    gdb调试带参数和调试core
    在现有的git服务器上面创建新的repo
    Play Old Diablo 2 on macOS Catalina
    Odoo中的Environment对象
  • 原文地址:https://www.cnblogs.com/yinqiang/p/3486802.html
Copyright © 2011-2022 走看看