1. 程式人生 > >iOS -- 關於系統手勢右滑與scrollview左右滑動衝突超簡單解決方案

iOS -- 關於系統手勢右滑與scrollview左右滑動衝突超簡單解決方案

由於左右滑動的scrollview會攔截我們系統的右滑返回手勢,所以我們想要的返回手勢就沒有了。

之前的解決方案都很繁瑣,今天看到一個好的解決方案,先上程式碼

NSArray *gestureArr = self.navigationController.view.gestureRecognizers;

for (UIGestureRecognizer *gestureRecognizer in gestureArr) {
    
    if ([gestureRecognizer isKindOfClass:[UIScreenEdgePanGestureRecognizer class]]) {
        
        [self.segmentVC.contentView.panGestureRecognizer requireGestureRecognizerToFail:gestureRecognizer];
        
    }
    
}

解讀一下這段程式碼,我們的導航控制器會將所有手勢存起來,我們遍歷手勢陣列,如果是系統右滑的返回手勢,也就是UIScreenEdgePanGestureRecognizer 就讓我們左右滑動的scrollview手勢先失效,執行系統的手勢,親測有用,分享一下。