我遇到了一个相当简单的概念。我有一个集合视图,它有一个视图控制器视图框架的框架,整个屏幕,单元格中的图像视图,占据了整个单元格的框架。现在,我想要做的就是当用户点击我的按钮时,它会将集合视图设置为我想要的帧。
我想要的画面=(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的高度 减去部分插入顶部和底部值,减去内容 插入顶部和底部值。“
如果您能提供帮助,请留下回复,我需要它,谢谢。