• ios开发-调用系统自带手势


    在 iPhone 或 iPad 的开发中,除了用 touchesBegan / touchesMoved / touchesEnded 这组方法来控制使用者的手指触控外,也可以用 UIGestureRecognizer 的衍生类別来进行判断。用 UIGestureRecognizer 的好处在于有现成的手势,开发者不用自己计算手指移动轨迹。UIGestureRecognizer的衍生类別有以下几种:

    UITapGestureRecognizer
    UIPinchGestureRecognizer
    UIRotationGestureRecognizer
    UISwipeGestureRecognizer
    UIPanGestureRecognizer
    UILongPressGestureRecognizer

    从命名上不难了解這些类別所对应代表的手势,分別是 Tap(点一下)、Pinch(二指往內或往外拨动)、Rotation(旋转)、Swipe(滑动,快速移动)、Pan (拖移,慢速移动)以及 LongPress(长按)。這些手势別在使用上也很简单,只要在使用前定义并添加到对应的视图上即可。


    // 定义一个 recognizer, 并加到需要偵測该手势的 UIView 元件上
    - (void)viewDidLoad {
        UISwipeGestureRecognizer* recognizer;
        // handleSwipeFrom 是偵測到手势,所要呼叫的方法
        recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom)];
        // 不同的 Recognizer 有不同的实体变数
        // 例如 SwipeGesture 可以指定方向
        // 而 TapGesture 則可以指定次數
        recognizer.direction = UISwipeGestureRecognizerDirectionUp;
        [self.view addGestureRecognizer:recognizer];
        [recognizer release];
    }
    
    - (void)handleSwipeFrom:(UISwipeGestureRecognizer*)recognizer {
        // 触发手勢事件后,在这里作些事情
        
        if (recognizer.direction == UISwipeGestureRecognizerDirectionRight)
        {
            // 当是向右滑动手势的话,执行对应操作
        }
            
            // 底下是刪除手势的方法  (提供方法,不过一般没必要使用)
            [self.view removeGestureRecognizer:recognizer];
    }


    操作上应该没什么难度,几行代码的事。

    其他几种的使用方法类似,可以自己体验下。


    学习的路上,与君共勉。

  • 相关阅读:
    Bootstrap学习笔记系列2-------Bootstrap简单表格处理
    Bootstrap学习笔记系列1-------Bootstrap网格系统
    前端代码规范
    Dev TreeList设置焦点失败解决方法
    las数据集加载las数据
    c# 文件另存为代码
    Dev 饼图
    ASP.NET MVC Json的序列化和反序列化
    服务器重启后导致访问ArcServer地图服务须登录
    jQuery回调函数
  • 原文地址:https://www.cnblogs.com/james1207/p/3367899.html
Copyright © 2020-2023  润新知