一旦UIPanGestureRecognizer
在您的UIView
中激活,由於您的UICollectionView
不再接收觸摸,因此不再通過響應者鏈轉發觸摸。
您可以嘗試設置您的UIView
作爲您的UIPanGestureRecognizer
的代表,並放置UIPanGestureRecognizer
應激活的邏輯。你必須實現委託的方法在你的UIView:
-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer;
例如與下面你的代碼會告訴它不激活,如果在視圖上的y軸的速度比的x軸的速度更大(因此發送觸摸到它下面的UICollectionView
)
-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{
UIPanGestureRecognizer *recognizer = (UIPanGestureRecognizer *)gestureRecognizer;
CGPoint velocity =[recognizer velocityInView:self];
if(abs(velocity.y)>=(abs(velocity.x))){
return NO;
}else return YES;
}
希望這是有幫助的。
你好,你可以驗證解決方案建議是否工作?它似乎適用於其他用戶。謝謝! – batkru 2014-11-24 04:29:49