2017-10-01 9 views
0

私は以下のコレクションビューを持っています。ユーザーがビューを上にスクロールすると、コレクションビューが一番上になります。同様に、スクロールダウンすると元の位置に戻ってきます。スクロールコレクションのトップに戻る

私は、コレクションビューの上にuiviewとimageViewを持っています。今

enter image description here

これはテーブルビューだった場合、私は、ヘッダーを使用しているだろう。どのように私はこの行動を達成するのですか?私はアイデアから外れています。事前に

おかげ

答えて

0

UICollectionViewので、あなたが望むものを達成することができUIScrollViewのサブクラスであるだけscrollview delegate方法とUICollectionView時にあなたのUIViewUIImageViewの制約によってです。

ここでは、scrollviewデリゲートでこれを実現する1つの例を挙げます。

func scrollViewDidScroll(_ scrollView: UIScrollView) { 
     if scrollView == collectionView{ 
      if scrollView.contentOffset.y == 0{ 
       UIView.animate(withDuration: 0.5) {() -> Void in 
        self.constTopTagHeight.constant = 175 // Your UIView and imageview constraints adjust. 
        self.view.layoutIfNeeded() 
       } 
      } 
      else{ 
       UIView.animate(withDuration: 0.5) {() -> Void in 
        self.constTopTagHeight.constant = 0 // Your UIView and imageview constraints adjust. 
        self.view.layoutIfNeeded() 
       } 
      } 
     } 
    } 

希望すると助かります。

+0

お返事ありがとうございます。明確にするために、 'constTopTagHeight'は私が上に持っているビューです。右?これをスクロールビューに適用すると、トップビューが収縮し、コレクションビューをスクロールせずにトップに表示されます。何か間違っているのですか? –

+0

はいconstTopTagHeightは、ビューの高さの上限です。上記のスクロールビューのDelagateメソッドで管理する必要があります。 –

関連する問題