最近在作一个相似微信语音聊天的功能,在屏幕的底部放一个Button,按下时能够语音说话,松开时将语音发出去。可是作的过程当中遇到一个坑:按钮放到页面最底部的时候会延迟touchDown事件。ios
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos);
该方法表示屏幕边缘的手势动做(Screen Edge Gesture),通常来讲都是由系统管理的,在控制器下重写这个方法,可让本身的手势优先被调用。微信
很简单,在你的UIViewController中重写该方法,添加如下代码便可。测试
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures { return UIRectEdgeBottom; }
感受这应该是苹果在开发时忽略的一个bug,虽然最终要解决它不是很复杂,可是找到解决方案仍是耗费了很多时间,这样的问题还真的是挺坑的,在此记录一下。spa
--------------------- 本文来自 Eric_HYD 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/haha223545/article/details/80259217?utm_source=copy.net