点击按住说话按钮事件有延迟

问题原因:

该问题原因是由于系统的某些手势 delaysTouchesBegan 属性为 YES,当按钮处在某些特定位置时触摸事件会先被这些系统的手势拦截,系统不响应才会继续分发,而按钮的 UIControlEventTouchDown 事件是需要立即响应的,所以会导致事件类型为 UIControlEventTouchDown 的响应有延迟

解决方案:

在自定义聊天页面中将这些系统手势的 delaysTouchesBegan 手动置为 NO,这样当屏幕接收到触摸事件后在系统手势进行响应的同时就会把该事件传递下去

相关代码:

点赞
收藏

评论区

加载中...

相关推荐

Android事件分发-基础原理和场景分析

和其他平台类似,Android中View的布局是一个树形结构,各个ViewGroup和View是按树形结构嵌套布局的,从而会出现用户触摸的位置坐标可能会落在多个View的范围内,这样就不知道哪个View来响应这个事件,为了解决这一问题,就出现了事件分发机制。

Egret的按钮事件处理

首先要在exml内要设置有对应按钮的ID!(https://oscimg.oschina.net/oscnet/079d7f1add048600e12f2cff222cdb2fcf4.png)2,编写TypeScript脚本:publicmybutton:eui.Button;函数内部:this.mybutton

IOS IBOutlet & IBAction

一 IBActionIBAction用于事件和方法建立联系,谁触发,就传递谁。事件有两种形式有参和无参,他们的区别是,有参数可以区分按钮,有可能一个事件监听多个按钮。(IBAction)functionName;(IBAction)functionName:(UIButton )sender;//se

Swing中事件的三种处理方法

 Swing是目前Java中不可缺少的窗口工具组,是用户建立图形化用户界面(GUI)程序的强大工具。JavaSwing组件自动产生各种事件来响应用户行为。如当用户点击按钮或选择菜单项目时,Swing组件会产生一个ActionEvent。Swing组件会产生许多事件,如ActionEvents,ChangeEvents,ItemEvents等,来响应用户的鼠

JS的事件冒泡和事件捕获

什么是事件?事件是文档和浏览器窗口中发生的特定的交互瞬间。事件是javascript应用跳动的心脏,也是把所有东西黏在一起的胶水,当我们与浏览器中web页面进行某些类型的交互时,事件就发生了。事件可能是用户在某些内容上的点击,鼠标经过某个特定元素或按下键盘上的某些按键,事件还可能是web浏览器中发生的事情,比如说某

Spring事件机制之ApplicationListener与ApplicationEvent 一、一些概念 二、spring事件机制

一、一些概念 事件是可以被控件识别的操作,如按下确定按钮,选择某个单选按钮或者复选框。每一种控件有自己可以识别的事件,如窗体的加载、单击、双击等事件,编辑框(文本框)的文本改变事,等等。事件有系统事件和用户事件。系统事件由系统激发,如时间每隔24小时,银行储户的存款日期增加一天。用户事件由用户激发,如用户点击按钮,在文本框中显示特定的文