首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >4.4英寸和5.5英寸的UICollectionViewCell动态上浆

4.4英寸和5.5英寸的UICollectionViewCell动态上浆
EN

Stack Overflow用户
提问于 2014-11-13 09:18:38
回答 1查看 4.8K关注 0票数 15

我有UICollectionView,故事板中有单元格。每个单元格的大小设置为145x145。

它们在iPhone 4-5上看起来不错,但在iPhone 6和6+上,尺寸并没有按比例增加。与其手动为每个设备设置不同的单元大小,我还如何动态地进行呢?

参见这里的示例: iPhone 5S:http://prntscr.com/55vy7q,iPhone 6:http://prntscr.com/55vyy2

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-13 10:13:50

如果希望单元格调整其宽度,则需要根据视图宽度计算流布局的itemSize

  • 如果所有单元格都是相同大小的,则可以设置流布局的itemSize属性: #定义(UICollectionViewFlowLayout*)self.collectionView.collectionViewLayout;2 UICollectionViewFlowLayout *UICollectionViewFlowLayout CGFloat = availableWidthForCells CGFloat availableWidthForCells = CGRectGetWidth(self.collectionView.frame) - flowLayout.sectionInset.left - flowLayout.sectionInset.right - flowLayout.minimumInteritemSpacing * (kCellsPerRow - 1);CGFloat cellWidth =availableWidthForCells/ kCellsPerRow;flowLayout.itemSize =CGSizeMake( kCellsPerRow,kCellsPerRow); 如果您想动态地改变每行单元格的数量,我已经提供了这些https://stackoverflow.com/a/36315107/4151918
  • 如果您需要计算每个单元格的大小,您可以在collectionView:layout:sizeForItemAtIndexPath:委托中这样做。

当设备方向发生变化时,重新计算itemSize并更新布局:

  • 没有动画的重绘布局: [self.collectionView.collectionViewLayout invalidateLayout]
  • 动画布局更改: [self.collectionView performBatchUpdates:nil completion:nil]
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26905191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档