2017-03-16 13 views
1

私は、のカスタムUICollectionViewFlowLayoutをオーバーライドしてページングを実装するコレクションビューを持っています。コレクションビューがユーザーのやりとりを通じてスクロールされ、それが機能するときに呼び出されます。ただし、scrollToItemを使用する場合、または表示可能な矩形へのスクロールを使用する場合は呼び出されません。コレクションビューをプログラムでスクロールして、確実にメソッドtargetContentOffsetを実行する最良の方法は何ですか?UICollectionViewのscrollToItemがtargetContentOffsetを呼び出さない

答えて

0

私の場合は、ページングとスクロールをプログラム的に管理するためのベローメソッドを使用しています。

func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) { 
    if scrollView.contentOffset.y > -topHeaderView.frame.size.height && scrollView.contentOffset.y < -20 - 50 { 
      let aHeaderHeight = topHeaderView.frame.size.height 
      if velocity.y <= 0 { 
       targetContentOffset.memory = CGPoint(x: 0, y: -aHeaderHeight) 
      } else { 
       targetContentOffset.memory = CGPoint(x: 0, y: 20 + 50) 
      } 
    } 
} 

希望すると、これが役立ちます。

関連する問題