2015-07-28 92 views
1

我有一個UIView其中有一個UICollectionview。爲了知道UICollectionview的滾動距離,我使用了scrollViewWillBeginDragging:,但它沒有被調用。 示例代碼是scrollViewWillBeginDragging:未在UICollectionview中調用

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView 
{ 
    CGPoint translation = [scrollView.panGestureRecognizer translationInView:scrollView.superview]; 

    if(translation.y > 0) 
    { 
     //dragging down 
     _reusableview.backgroundColor = [UIColor blackColor]; 
    } 
    else 
    { 
     // dragging up 
     _reusableview.backgroundColor = [UIColor clearColor]; 
    } 
} 

任何人都可以幫助我嗎?

+0

你還沒有添加scrollView!??? –

+0

是collectionview的代表設置正確嗎? –

+0

@sriramhegde:UICollectionView是UIScrollView的子類。 –

回答

0

希望您已添加UIscrollViewDelegate並將UIcollectionView委託設置爲類。 然後scrollViewWillBeginDragging()函數將在滾動collectionView時被調用。

函數內部可以確認scrollView是否爲KindOfClass UICollectionView。

1

UICollectionView是UIScrollView的子類。任何人都可以通過記住一些要點來檢測滾動視圖的委託方法。

  1. 設置類作爲滾動視圖 的代表可以在h文件和.m文件

做到這一點在.h文件中

@interface DemoViewController : UIViewController<UIScrollViewDelegate> 
{ 

} 

在.m文件

@interface SplashViewController()<UIScrollViewDelegate> 
{ 

} 

2.製作集合視圖的數據源和委託類。 示例:

collectionView.delegate = self; 
collectionView.dataSource = self; 

嘗試執行上述步驟。 希望它能爲你工作。

+0

是的,我已經完成了這些 –

相關問題