首页 > 其他分享 >使用手势,让键盘在点击空白处消失

使用手势,让键盘在点击空白处消失

时间:2023-08-23 12:31:46浏览次数:28  
标签:控件 tapGestureRecognizer resignFirstResponder UITapGestureRecognizer 键盘 点击 方法 空白处

我们经常会碰到一些情况,比如,需要在superview上增加一个scrollview,或者view,在scrollview和view上添加控件,

比如添加一个textfield,那么原来使用的点击空白处让键盘消失的方法,就无法响应,因为响应的方法主要作用在superview上,

我们可以这样做来实现这样的操作:

UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardHide:)];
    //设置成NO表示当前控件响应后会传播到其他控件上,默认为YES。
    tapGestureRecognizer.cancelsTouchesInView = NO;
    //将触摸事件添加到当前view
    [self.view addGestureRecognizer:tapGestureRecognizer];

然后实现它的方法就可以了:

-(void)keyboardHide:(UITapGestureRecognizer*)tap{
          [_zhuCeTextField resignFirstResponder];
          [_yanZhengTextField resignFirstResponder];
     }

比较下原来的方法:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 

          [textFiled resignFirstResponder];  

     }

合适的时候用合适的方法



作者:稻草人11223

标签:控件,tapGestureRecognizer,resignFirstResponder,UITapGestureRecognizer,键盘,点击,方法,空白处
From: https://blog.51cto.com/u_13188203/7201411

相关文章

  • vue 页面滚动时自动切换Tab标签,点击标签自动滚动页面
    功能:手机端实现切换头部tab定位到下文内容,滚动页面内容时自动定位到相对应tab逻辑:监听+tab切换完整代码:以下是完整代码:<template><divclass="box"><divclass="tab"ref="tab"><divv-for="(item,index)intabs":key=&......
  • 点击实现文字复制
    //1.创建一个方法文件fun.jsexportconstcopyToClipboard=(text,callback)=>{if(navigator.clipboard){//clipboardapi复制navigator.clipboard.writeText(text);}else{vartextarea=document.createElement("textare......
  • swift--触摸(UITouch)事件(点击,移动,抬起)
    触摸事件:UITouch:一个手机第一次点击屏幕,会形成一个UITouch对象,知道离开销毁。表示触碰。UITouch对象能表明当前手指触碰的屏幕位置、状态,状态分为开始触碰、移动、离开。具体方法介绍如下:1.overridefunctouchesBegan(_touches:Set<UITouch>,withevent:UIEvent?)通知调用者当......
  • CSharp_exe执行文件点击运行无反应;
    问题:点击试图运行exe可执行文件,但无法运行!解决思路:首先,想到的就是C#项目出错;再者就是运行环境缺少支持,查看Microsoft.NETFramework2.0以及Microsoft.NETFramework3.5是否安装,没安装的应该就不能运行的,所以装上即可!......
  • C# 鼠标hook和键盘hook
    鼠标HOOKusingSystem;usingSystem.Reflection;usingSystem.Runtime.InteropServices;usingSystem.Windows.Forms;namespaceceshi{publicclassMouseHook{publiceventMouseEventHandlerOnMouseActivity;[DllImport("user32.dll",CallingConv......
  • 谷歌优化“每次点击费用人工出价策略”
    借助每次点击费用(CPC)人工出价,您可以设置愿意为用户每次点击广告所支付的最高价格。这种出价方式可谓是物有所值,因为只有当用户对您的广告有足够的兴趣,点击广告并了解详情时,您才需要付费。以广告牌为例,广告客户根据可能会有多少人在开车路过时看到其广告来支付广告牌空间的费用,......
  • fabric.js 判断点击坐标是否在某个子元素内
     通过 containsPoint方法坐标是否在某个元素内constrect=newfabric.Rect({width:100,height:100,fill:'red',})canvas.add(rect);canvas.on('mousee:down',(event)=>{letpoint=newfabric.Point(event.e.offsetX,eve......
  • 直播软件开发,Flutter实现点击头像更新头像的功能
    直播软件开发,Flutter实现点击头像更新头像的功能InkWell(            onTap:(){             showDialog(              context:context,              builder......
  • 设置 X-Frame-Options HTTP 响应头防止点击劫持攻击
    X-Frame-Options是一个HTTP响应头,设置X-Frame-OptionsHTTP响应头为DENY或SAMEORIGIN,用于控制页面是否可以被嵌入到<iframe>,<frame>,<embed>,或<object>等元素中。这有助于防止点击劫持攻击。DENY或SAMEORIGIN分别是什么意思?DENY:当设置为DENY时,页面不......
  • WPS做的ppt用office打开提示修复,但点击修复后提示部分内容无法读取
    本文来源:WPS做的ppt用office打开提示修复,但点击修复后提示无法读取问题的一点解决方法-知乎问题描述使用office的ppt打开一份别人用wps写好传过来的ppt文件,发现提示内容有问题,需要修复,如下图所示:点击“修复”按钮后显示部分内容无法读取,已被删除,如下图所示:解决方法亲测有......