Collection View Layout - MSPeekCollectionViewDelegateImplementation


MSPeekCollectionViewDelegateImplementation

  • ギャラリー使用時に、写真をリメイクする効果を増やすため.
  • Cocoa Pod Install

    pod 'MSPeekCollectionViewDelegateImplementation

    Xcode Example

    import MSPeekCollectionViewDelegateImplementation
    
    var behavior : MSCollectionViewPeekingBehavior!
    
    behavior = MSCollectionViewPeekingBehavior(cellSpacing: 0, cellPeekWidth: 0, minimumItemsToScroll: 1, maximumItemsToScroll: 1, numberOfItemsToShow: 1, scrollDirection: .horizontal, velocityThreshold: 0)
    collectionView.configureForPeekingBehavior(behavior: behavior)
    
    extension ViewController : UICollectionViewDataSource, UICollectionViewDelegate {
    	func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        	let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionViewCell", for: indexPath) as! CollectionViewCell
            cell.imageView.image = UIImage(named: "image")
            return cell
        }
        
        // scrollViewWillEndDragging : Image View 넘길 때마다 호출되는 함수
        func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
        	behavior.scrollViewWillEndDragging(scrollView, withVelocity: velocity, targetContentOffset: targetContentOffset)
        }
        
        func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        	print(behavior.currentIndex)
        }
    }

    Values


  • CellSpacing:現在の画面上両側の物との距離
  • CellPeekWidth:現在画面上の両サイドアイテムの横長
  • 最小Items ToScroll:スクロール可能最小数
  • 最大ItemsToScroll:スクロール可能最大数
  • Number OfItemsToShow:一度に見たアイテム数
  • scrollDirection:Scroll方向(水平/垂直)
  • velocityThreshold:スクロール速度に関する変数(詳細は必要)
  • currentIndex:スクロール表示の現在のIndex