1. 程式人生 > >scrollView 判斷左右滑動方法

scrollView 判斷左右滑動方法

經常會用到scrollView 判斷左右滑動還是上下滑動,判斷的方法如下

float lastContentOffset;
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    lastContentOffset = scrollView.contentOffset.y;
}

- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
    if (lastContentOffset < scrollView.contentOffset
.y)
{ NSlog(@"向上滾動"); }else{ NSlog(@"向下滾動"); } }

同樣的左右滑動也可以判斷scrollView.contentOffset.x

開發中遇到tableview 商品上下拉的時候,右下角有個置頂按鈕,順帶變化滑動到哪一個商品的需求,這時候需要scrollview 來解決這個問題
首頁要獲取獲取到 topview 在view 上位置,然後轉化為tableview 上的cell的位置,程式碼如下

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{

// 將topview在控制器view的右下角轉化成collectionView上的座標
CGPoint pInView = [self.view convertPoint:CGPointMake(topView.x, topView.y+40) toView:_collectionView]; // 獲取這一點的indexPath NSIndexPath *indexPath = [_collectionView indexPathForItemAtPoint:pInView]; 這樣就獲取到當前位置在top在當前cell的位置; }