2017-06-01 3 views
0

特定のトリガーに基づいて項目をスライドするUICollectionViewを作成しました。私はにより細胞遷移をアニメーション化しようとしている :アニメーションが成功した設定時にUICollectionViewCellが表示されなくなります。contentOffset

  UIView.animate(withDuration: 0.4, 
          delay: 0.5, animations: { 

          self.headingsCollectionView.contentOffset = CGPoint(x: x, y: 0) 
          self.headingsCollectionView.reloadItems(at: [indexPath]) 
      }) 

私は現在の項目ではなく、オフにスクロール消えCollectionView contentOffsetを変更すると、問題があります。

  • 私は(hereが示唆したように)現在の項目をリロードしようとしたので、 は目に見えるとどまるだろうが、それはまだ動作していません。
  • 私はscrollToItemAtIndexPath:atScrollPosition:animatedを試しましたが、 はアイテムをアニメーション化していません。
  • setContentOffset:animated試しましたが、アニメーション化されません。
+0

を設定した後self.headingsCollectionView.reloadItemsを削除(時:[indexPath]) –

+0

@SandeepBhandari私はそれなしで試みたが、それはまだ消えている。 – Shawerma

+0

'scrollToItemAtIndexPath:atScrollPosition:animated'が正しく実装されていれば、このトリックを行うべきです –

答えて

0

あなたはUIView.animateメソッドを使用しているため、あなたはself.view.layoutIfNeededを(配置する必要があります)、プログラムcontentOffset

UIView.animate(withDuration: 0.4, 
        delay: 0.5, animations: { 

        self.headingsCollectionView.contentOffset = CGPoint(x: x, y: 0) 
        self.headingsCollectionView.reloadItems(at: [indexPath]) 
        self.view.layoutIfNeeded() 
    }) 
関連する問題