0

私のコレクションビューは水平スクロールになっていますが、このスクロールバーを垂直スクロールで変更したいのですか?スウィフト2垂直方向の水平スクロールのコレクションビューの拡張

extension viewRe : UIScrollViewDelegate 
{ 
    func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) 
    { 
     let layout = self.recipesCollView?.collectionViewLayout as! UICollectionViewFlowLayout 
     let cellWidthIncludingSpacing = layout.itemSize.width + layout.minimumLineSpacing 

     var offset = targetContentOffset.memory 
     let index = (offset.x + scrollView.contentInset.left)/cellWidthIncludingSpacing 
     let roundedIndex = round(index) 

     offset = CGPoint(x: roundedIndex * cellWidthIncludingSpacing - scrollView.contentInset.left, y: -scrollView.contentInset.top) 
     targetContentOffset.memory = offset 
    } 
} 

この拡張機能では、ページングが有効になっているためスクロールしても、ビューのTOPにスティックするようにしています。したがって、ユーザーがスクロールするたびに、セルが上にスムーズになるようにし、ユーザーがスクロールするときにも同様にします。

+0

を持っている:あなたがUICollectionViewを使用している場合は、単にそのUICollectionViewFlowLayout

let layout = UICollectionViewFlowLayout() layout.scrollDirection = . Horizontal let collectionView = UICollectionView(frame: frame, collectionViewLayout: layout) 

か、存在しないUICollectionView

if let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout { layout.scrollDirection = .Horizontal } 

を持っている場合は、公式APIをフォローを変更あなたがしようとした コレクションビューのスクロール方向を設定しますか?実際に拡張機能を実装する理由は不明です。 – donnywals

+0

@donnywalsはいスクロールが有効になっており、ページングも –

+0

スクロール方向を設定しましたか?水平スクロールから垂直スクロールに変換しようとしているので、おそらく 'scrollDirection'を' .Vertical'に設定したいと思っています – donnywals

答えて

関連する問題