我正在为 iOS 创建一个自定义键盘。我有 4 行按键,每个按键有两个 Action :Touch Down 以突出显示按钮,以及 Touch Up Inside 以在 0.4 秒内取消突出显示按钮。
但是在屏幕的左边缘有一个区域,其中任何按钮的 Touch Down 事件都会延迟大约四分之一秒以显示突出显示。
See the image
所以要查看突出显示的版本,我必须按住按钮,或者从它向右滑动。按钮是一样的,没有区别。当我从字母切换到符号时,这个左边缘区域也会产生同样的延迟。我尝试将所有键向右移动大约 20 像素,并且它们运行良好,没有延迟。好的,坚持到边缘回来,延迟也回来了。然后我注意到,按下右侧边缘的按钮,大约 1-2 个像素根本没有延迟。因此,似乎问题尤其出在屏幕的左侧边缘区域。
顺便说一句,我在我的5S上运行这个应用程序,我试图在我 friend 的5C上运行它,同样的问题。但是当我在模拟器中运行时,就没有这样的延迟了。
Best Answer-推荐答案 strong>
使用 iOS 11 的新功能绝对可以解决这个问题。
var preferredScreenEdgesDeferringSystemGestures: UIRectEdge { get }
Documentation
关于ios - 屏幕特定区域中的 UIButtons 会延迟 Touch Down 事件,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/36492476/
|