我想知道是否可以调整单个UICollectionViewCell的大小?
我一直在寻找诸如layoutAttributesForItemAtIndexPath和layoutAttributesForElementsInRect之类的东西,但是它们都需要您手动设置每个项目的框架,这会带来更多麻烦,因为一旦调整单元格的大小,我必须再次计算框架。我的计划是能够选择一个单元格,使其展开以适合屏幕宽度,并向下推所有其他单元格,而其他单元格保持其列和行。
有人做到了吗?
谢谢
最佳答案
var selectedIndexPath: NSIndexPath?
// MARK: - UICollectionViewDelegate
override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
selectedIndexPath = indexPath
collectionView.performBatchUpdates(nil, completion: nil)
}
// MARK: - UICollectionViewDelegateFlowLayout
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
var size = CGSize(width: 100, height: 100)
if selectedIndexPath == indexPath {
size.width = CGRectGetWidth(collectionView.frame)
}
return size
}
是的,就是这么简单。
(尽管这不能回答问题,如果这是个好主意。您将在实现它时看到它;)
关于ios - 调整单个UICollectionViewCell的大小,可以吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28144145/