zoukankan      html  css  js  c++  java
  • UIWebView的点击事件

    原来我自定义过UITextView,然后将捕获touchesBegan,touchesMoved和touchesEnded的事件后交给父层去处理,这样就可以UITextView上进行手势翻页等处理,今天想要故伎重演在UIWebView上,结果失败了。后来用了一种最最简单的办法实现了。

    你猜对了,是UITapGestureRecognizer,贴上代码。

    在UIViewController中,加入协议UIGestureRecognizerDelegate,然后.m文件里加入以下代码:

    UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
    [self.view addGestureRecognizer:singleTap]; 
    //这个可以加到任何控件上,比如你只想响应WebView,我正好填满整个屏幕
    singleTap.delegate = self;
    singleTap.cancelsTouchesInView
    = NO;
    [singleTap release];

    然后有一个关键的,要实现一个方法:

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
    {
    return YES;
    }

    最后,响应的方法中,可以获取点击的坐标哦!

    -(void)handleSingleTap:(UITapGestureRecognizer *)sender{
    CGPoint point
    = [sender locationInView:self.view];
    NSLog(
    @"handleSingleTap!pointx:%f,y:%f",point.x,point.y);
    }

    好了,得到启发了吧,也能获取到坐标了。不过如果你要直接判断手势方向之类的,比如向左或向右轻扫,可以使用UISwipeGestureRecognizer类,具体可参考这编文章:http://o0o0o0o.iteye.com/blog/875333

    以上内容,转载请注明来自博客园,作者:jauntlin

  • 相关阅读:
    WPF数据爬取小工具-某宝推广位批量生成,及订单爬取 记:接单最痛一次的感悟
    .net core2.1
    Ng Alain使用
    MediatR
    RN错误随笔
    【转载】DDD分层架构的三种模式
    1.RN环境搭建,创建项目,使用夜神模拟调试
    ExtJs4 笔记(2) ExtJs对js基本语法扩展支持
    ExtJs4 笔记(1) ExtJs大比拼JQuery:Dom文档操作
    vue的父子通信
  • 原文地址:https://www.cnblogs.com/jauntlin/p/2146389.html
Copyright © 2011-2022 走看看