-2

我有UIScrollView,我在其上添加了UIView,我添加了手勢識別器到UIView。我加了點擊手勢和滑動手勢到UIView,它工作正常。但是,當用戶使用捏,然後我想被忽略UIViewUIScrollView應該對此手勢作出反應。我該怎麼做?無論如何,我無法做到這一點。我知道有測試方法,但我認爲它不能幫助我。UIView獲取點擊和輕掃手勢,但將其設置爲忽略捏縮放手勢

編輯:我有UIView在頂部,現在捕捉(抓住)所有手勢。對於輕拍和輕掃手勢,這是我想要的。但我想捏手勢將被忽略頂部UIView並得到UIScrollView低於UIView。我試圖尋找解決方案,但我找不到任何解決方案。

+0

在你的問題中破碎的英語使你的設置和目標不清楚。請優化您的問題。 – Holly

+0

我編輯過它,希望現在更清楚我想要什麼。 –

+0

1.沒有手勢添加到子視圖,您的滾動視圖是否得到'捏'手勢(就像如果你正在嘗試使用捏縮放..如果你爲UIView設置'userInteractionEnabled = false',它會工作) – lukya

回答

0

您是否嘗試過通過下面的代碼禁止在任何情況下用戶交互:

scrollViewObject.userInteractionEnabled = NO; 

應該有所幫助。

0

如果您的UIView位於頂部並且正在捕獲所有手勢,請設置代理方法gestureRecognizerShouldBegin並讓它檢測手勢的類型。如果它是一個pinch然後調用一個方法,你的UIScrollView

func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { 
    if gestureRecognizer.isKind(of: UIPinchGestureRecognizer.self) { 
     scrollView.someFunction() 
    } 
    return true 
} 

您還可以,如果你想通過縮放手勢的實例,您滾動視圖功能。