Collectionview的动画框架

时间:2018-02-26 06:30:59

标签: ios swift layout uicollectionview

我遇到了一个相当简单的概念。我有一个集合视图,它有一个视图控制器视图框架的框架,整个屏幕,单元格中的图像视图,占据了整个单元格的框架。现在,我想要做的就是当用户点击我的按钮时,它会将集合视图设置为我想要的帧。

  

我想要的画面=(0,555,375,112)。

     

按下按钮前的当前帧是=(0,60,557,375)。

这是我目前的代码:

   func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {

    if small == true {
         return CGSize(width: collectionView.frame.width - 100, height: collectionView.frame.height)
    }

    return CGSize(width: collectionerView.frame.width, height: collectionerView.frame.height)
}

动画制作功能

  @objc func swiperDown () {

    self.small = true 
    self.collectionerView.reloadData()
        UIView.animate(withDuration: 0.25, delay: 0, options: .curveEaseOut, animations: {
            self.collectionerView.frame = CGRect(x: 0, y: self.view.frame.height - 112, width: self.view.frame.width, height: 112)

        }, completion: {(_) -> Void in

    self.collectionerView.addGestureRecognizer(self.gesturSwipeUp)
        })

}

我一直在控制台中收到消息

  

“项目高度必须小于UICollectionView的高度   减去部分插入顶部和底部值,减去内容   插入顶部和底部值。“

如果您能提供帮助,请留下回复,我需要它,谢谢。

0 个答案:

没有答案