UIButton TouchDown事件延遲響應(yīng)問題

有時候放在屏幕邊緣的Button會出現(xiàn)延遲響應(yīng)TouchDown事件的問題(表現(xiàn)為手指按下后有很明顯的一段時間延遲后才響應(yīng))。最典型的場景就是做類似微信的在屏幕底部一個按住說話的語音錄入按鈕。
出現(xiàn)該問題的原因是,在屏幕邊緣處,有一些系統(tǒng)手勢的存在,比如在屏幕底部有上拉劃出系統(tǒng)菜單的手勢。所以當(dāng)你按住Button,在響應(yīng)TouchDown事件前,系統(tǒng)會緩沖一段時間來判斷你是想上拉劃出系統(tǒng)菜單還是響應(yīng)TouchDown事件,所以就會有明顯的延遲感覺。
解決該問題的方法是,在呈現(xiàn)Button的Controller中添加以下方法。

- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures {
    return UIRectEdgeBottom;//該參數(shù)表示底部,根據(jù)需要修改
}

添加該方法后,在底部區(qū)域內(nèi)會優(yōu)先響應(yīng)我們自己的事件。(但是也會導(dǎo)致無法像其他地方一樣一次上劃手勢就上拉出系統(tǒng)菜單)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、通過CocoaPods安裝項目名稱項目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地數(shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,229評論 3 119
  • 我最親愛的優(yōu)兒: 昨晚媽媽太累了,本想小睡一會兒的,結(jié)果睜開眼睛就看到了今天的朝陽。那就把兩天的并在一起寫吧...
    曉寒iyoyo閱讀 174評論 0 1
  • 初學(xué)者買鋼琴往往比較糾結(jié)怎么知道鋼琴的質(zhì)量如何,我們給大家買琴前的建議就是學(xué)會“先看、在聽、后彈”。 1、看?買鋼...
    樂都樂器商城閱讀 516評論 0 0
  • 2018年1月2日客戶部陸海工作成為日志: 轉(zhuǎn)眼已是2018年,來到龍瑞也有102天了,回顧來到龍瑞的工作,我在公...
    記憶的倒影閱讀 106評論 0 0
  • 終于還是沒逃不過出門接你,這是我一個周中最艱難的時刻,周末出門實在是太痛苦可是我卻沒有辦法~~~ 去接...
    等風(fēng)來Ethel閱讀 297評論 0 0

友情鏈接更多精彩內(nèi)容