zoukankan      html  css  js  c++  java
  • UITextField 之 手势收起键盘

    1. 注册手势

    /**
     *  注册手势
     */
    -(void)gestureReg{
        //放弃第一响应者
        UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction)];
        [self.view addGestureRecognizer:tap];
    }
    

     2. 收起键盘

    - (void)tapAction
    {
        [_m_textSearchView resignFirstResponder];
    }
    

    3. 排除手势

      如果添加了手势,其它元素的响应事件也收到影响,其它元素就获取不到点击事件了。那该怎么做呢?需要排除要进行响应的元素。另外,按钮的点击事件不受整个影响。

    3.1. 添加UIGestureRecognizerDelegate

    3.2. tap.delegate=self;

    3.3. 重写delegate

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
    {
        
        // 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件
        if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
            return NO;
        }
        return  YES;
    }
    
  • 相关阅读:
    oracle 锁查询
    ORACLE 本session产生的redo
    UML
    面向对象
    设计思维
    程序员习惯
    程序员修炼之道
    架构指南
    微服务架构
    测试用例
  • 原文地址:https://www.cnblogs.com/SimonGao/p/5110492.html
Copyright © 2011-2022 走看看