-1
對於我自定義的UIView,我已經覆蓋了touchesBegan
方法。我告訴它要做的是改變它的圖層的背景顏色:iOS層顏色變化
dispatch_async(dispatch_get_main_queue()){
self.layer.backgroundColor = clr_someCGColor
}
它的行爲很奇怪。如果我在風景中快速點擊視圖,它可以完美地完成所有操作,但是如果我在人像中執行此操作,我必須持續一段時間才能看到結果,但是如果我快速點擊,則會立即調用touchesEnded
方法。可能是什麼原因導致肖像延遲?
我第一次遇到問題並將其重新刪除並沒有幫助,我把它放在'dispatch_async'包裝中。 'UITapGestureRecognizer'不能完全控制觸摸事件,我需要將圖層的bg設置爲'clr_active',然後返回到'clr_normal',觸摸結束後 – EBDOKUM
沒問題。但是'dispatch_async'在這裏沒有幫助你。我有一個應用程序,我在這裏做同樣的事情:我有一個輕擊手勢識別器,但我也想在手指向下時在活動外觀和非活動外觀之間切換,所以我使用'touchesBegan'和'touchesEnded',以及它工作正常。問題可能出在你沒有顯示的代碼上 - 但你沒有顯示它,所以現在有辦法知道。 – matt