赞
踩
最近在做一个类似微信语音聊天的功能,在屏幕的底部放一个Button,按下时可以语音说话,松开时将语音发出去。但是做的过程中遇到一个坑:按钮放到页面最底部的时候会延迟touchDown事件。
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos);
该方法表示屏幕边缘的手势动作(Screen Edge Gesture),一般来说都是由系统管理的,在控制器下重写这个方法,可以让自己的手势优先被调用。
很简单,在你的UIViewController中重写该方法,添加以下代码即可。
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures {
return UIRectEdgeBottom;
}
感觉这应该是苹果在开发时忽略的一个bug,虽然最终要解决它不是很复杂,但是找到解决方案还是耗费了不少时间,这样的问题还真的是挺坑的,在此记录一下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。