最近在作一個相似微信語音聊天的功能,在屏幕的底部放一個Button,按下時能夠語音說話,鬆開時將語音發出去。可是作的過程當中遇到一個坑:按鈕放到頁面最底部的時候會延遲touchDown事件。ios
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures API_AVAILABLE(ios(11.0)) API_UNAVAILABLE(watchos, tvos);
該方法表示屏幕邊緣的手勢動做(Screen Edge Gesture),通常來講都是由系統管理的,在控制器下重寫這個方法,可讓本身的手勢優先被調用。微信
很簡單,在你的UIViewController中重寫該方法,添加如下代碼便可。測試
- (UIRectEdge)preferredScreenEdgesDeferringSystemGestures { return UIRectEdgeBottom; }
感受這應該是蘋果在開發時忽略的一個bug,雖然最終要解決它不是很複雜,可是找到解決方案仍是耗費了很多時間,這樣的問題還真的是挺坑的,在此記錄一下。spa
--------------------- 本文來自 Eric_HYD 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/haha223545/article/details/80259217?utm_source=copy.net