美文网首页
iOS UIButton放到页面底部延迟响应事件

iOS UIButton放到页面底部延迟响应事件

作者: 马金星 | 来源:发表于2018-08-28 10:31 被阅读0次

情景:一个类似微信语音聊天的功能,在屏幕的底部放一个Button,按下时可以语音说话,松开时将语音发出去

了解:2017之后对UIKit在iOS系统下新增了一些API:

-(UIRectEdge)preferredScreenEdgesDeferringSystemGestures API_AVAILABLE(ios(11.0))API_UNAVAILABLE(watchos, tvos);

该方法表示屏幕边缘的手势动作(Screen Edge Gesture),一般来说都是由系统管理的,在控制器下重写这个方法,可以让自己的手势优先被调用。

解决:在你的UIViewController中重写该方法,添加以下代码即可。

-(UIRectEdge)preferredScreenEdgesDeferringSystemGestures {return UIRectEdgeBottom;}

例外:写的时候确实解决了按钮响应延迟的问题,但新的问题又出现了:点击底部按钮(该按钮当时的宽度是屏幕宽度)的时候点击右边比左边响应要快很多,然后又去查资料

点击左边时候是和手势滑动返回产生了冲突

self.navigationController.interactivePopGestureRecognizer.delaysTouchesBegan=NO;

当前页面设置这个即可解决左右响应不一致的问题。

相关文章

网友评论

      本文标题:iOS UIButton放到页面底部延迟响应事件

      本文链接:https://www.haomeiwen.com/subject/eplfwftx.html