本文主要是介绍点击按住说话按钮事件有延迟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题原因:
该问题原因是由于系统的某些手势 delaysTouchesBegan 属性为 YES,当按钮处在某些特定位置时触摸事件会先被这些系统的手势拦截,系统不响应才会继续分发,而按钮的 UIControlEventTouchDown 事件是需要立即响应的,所以会导致事件类型为 UIControlEventTouchDown 的响应有延迟
解决方案:
在自定义聊天页面中将这些系统手势的 delaysTouchesBegan 手动置为 NO,这样当屏幕接收到触摸事件后在系统手势进行响应的同时就会把该事件传递下去
相关代码:
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
for (UIGestureRecognizer *gesture in self.view.window.gestureRecognizers) {
gesture.delaysTouchesBegan = NO;
}
}
详情查看:融云-为用户提供IM即时通讯和实时音视频通信云服务
这篇关于点击按住说话按钮事件有延迟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!