zoukankan      html  css  js  c++  java
  • UITapGestureRecognizer

    UITapGestureRecognizer

    IOS的手势非常多, 但是特别容易其他视图起冲突的手势,要数UITapGestureRecognizer

    于是有了gestureRecognizerShouldBegin:这个方法判断是否应该执行触摸事件

    - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
    {
        BOOL flag = [super gestureRecognizerShouldBegin:gestureRecognizer];
        if (flag) {
            NSLog(@"gestureRecognizerShouldBegin:");
        }
        return flag;
    }

    但是当有多个触摸事件时,我们可能就无所适从

    别担心, 当父视图和子视图同时拥有触摸事件时, 

    如果点击到子视图, 那么不会执行父视图的方法

    2. 手势不能共用,手势的监听方法也不能共用

    错误的做法:  

    //为下定日期和交货日期设置手势 UITapGestureRecognizer *tap2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openSystemDatePickerView:)]; [_DateTF addGestureRecognizer:tap2]; [_PayDateTF addGestureRecognizer:tap2];

    这里有两个控件设置了同一个手势, 但是一个手势只能被一个控件拥有, 

    像上面这种做法, 只有_PayDateTF得到手势, _DateTF没有手势

    正确的做法应该是:

    正确的做法: 
    UITapGestureRecognizer *tap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openSystemDatePickerView:)]; [_DateTF addGestureRecognizer:tap1]; //为下定日期和交货日期设置手势 UITapGestureRecognizer *tap2 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openSystemDatePickerView:)]; [_PayDateTF addGestureRecognizer:tap2];
  • 相关阅读:
    Erlang in Delphi 项目发布!
    云计算将如何改变世界
    win2000server IIS和tomcat5多站点配置
    实践中整理出tomcat集群和负载均衡
    VCL已死,RAD已死(6) 结语与预测
    window下tomcat集群和负载均衡
    团队开发经验:如何带领一个项目团队并做好项目总结 !!
    Install latest R for ubuntu
    P1297 单选错位
    P5322 排兵布阵
  • 原文地址:https://www.cnblogs.com/apem/p/4092384.html
Copyright © 2011-2022 走看看