gpt4 book ai didi

ios - UISystemGateGestureRecognizer 和屏幕底部附近的延迟点击

转载 作者:IT王子 更新时间:2023-10-29 08:15:13 25 4
gpt4 key购买 nike

安装在 iOS 应用的顶层 UIView 上的标准 UISystemGateGateGestureRecognizers 有什么用?

我的应用包含两个 View - 一个填充屏幕的上半部分,另一个是自定义键盘并填充下半部分。我发现点击空格键并不总是有效,经过一些调查发现底部 20 像素左右的点击事件的时间与 View 的其余部分不同。对于大多数 View ,touchesBegan/Ended 之间的时间间隔约为 100 毫秒,而空格键为 1-2 毫秒。 (我的应用程序是一个模拟器,速度太快以至于无法检测到按键)。

在进一步挖掘之后,我发现应用程序的主要 UIView(即:我的主视图的 super View )安装了 2 个 UISystemGateGateGestureRecognizer。通过在 ViewDidAppear 中删除它们,屏幕底部不再受到影响。 (大概这些正在取消对我的键盘的触摸按下事件,因此时间更快)。

这些系统识别器至少存在于 iOS 5 到 7 以及 iPad 和 iPhone 上。我认为它们可能与从顶部/底部滑动有关,但此功能在删除它们后仍然有效。

所以我有一个修复程序,但我想更多地了解这里发生的事情 - 特别是通过删除它们可能会破坏什么。

最佳答案

这种延迟的接触也困扰着我。就像前面所说的一样,这是一个简单的修复方法:

override func viewDidAppear(_ animated: Bool) {
let window = view.window!
let gr0 = window.gestureRecognizers![0] as UIGestureRecognizer
let gr1 = window.gestureRecognizers![1] as UIGestureRecognizer
gr0.delaysTouchesBegan = false
gr1.delaysTouchesBegan = false
}

无需删除那些手势识别器。只需将其添加到主视图 Controller 即可。

关于ios - UISystemGateGestureRecognizer 和屏幕底部附近的延迟点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19799961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com