iOS7——UIControlEventTouchDown延遲響應問題


問題描述

在iOS7下開發,真機調試時,UIButton的其他事件響應都正常,但是UIControlEventTouchDown事件響應會延遲,而且不同響應區域發生的延時情況不同,有時延遲1s以后響應TouchDown事件,有時候一直按着不動就不響應事件,只有把手指輕輕滑動下才能正常響應TouchDown事件。

問題分析

UIControlEventTouchDown事件是一旦手指碰到按鈕就調用了,這樣在iOS7上會產生一個沖突,由於iOS7加上了手勢滑動返回這么一個動作,在手勢滑動返回時那個區域是不允許有UIControlEventTouchDown事件的,不然就會有事件沖突了,系統不知道是要准備返回還是要點擊那個Button,所以就加上了TouchDown事件的一個延遲響應。

解決方案

  • 禁止所有滑動返回的手勢,讓TouchDown能夠正常響應
    self.navigationController.interactivePopGestureRecognizer.delaysTouchesBegan=NO;
  • 重寫UIButton,捕捉所有的手勢事件然后重寫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM