我在遇到一個問題,即當您觸摸屏幕左邊緣時,第一次調用touchesBegan:withEvent:
時UIView
或UIViewController
會延遲。這似乎是iOS 10的一個新問題,並且只發生在使用3D Touch(iPhone 6s和更新版本)的設備上。事實上,如果您在「常規」 - >「輔助功能」中禁用3D Touch,問題就會消失。`touchesBegan:withEvent:`在屏幕左邊緣延遲了
但是,當您使用UIGestureRecognizers
時,問題似乎不會發生。我目前的解決方法是創建一個覆蓋touches*
方法的UIGestureRecognizer
子類,並將它們轉發給我的舊實現。
這只是一個錯誤,或者有沒有辦法擺脫延遲?
嗯我看到,將如何解決眼前的問題,但與系統手勢識別搞亂好像它會導致更多的問題上下行 – Jayson
我沒有更多的一些調查,這似乎是目前最佳的解決方案。 這些手勢識別器是'_UISystemGestureGateGestureRecognizer'的實例,似乎主要用於確保您的應用與系統手勢(如控制中心或3D觸摸應用切換)更好地交互。對於左邊緣,我認爲延遲是爲了防止用戶在嘗試切換應用程序時意外的應用程序交互而產生的,但在我的情況下,我需要在左側邊緣進行響應式觸摸,並且在用戶嘗試切換應用程序時觸摸觸發。 – Jayson