iOS:根据屏幕大小自动调整集合视图单元格的大小

5

我正在尝试在集合视图中创建10个单元格(与屏幕大小相同)。当我在iPhone5s模拟器上运行我的应用程序时,视图恰好包含5个单元格。但是,当我切换到iPhone6p模拟器时,视图包含超过5个单元格。我应该如何调整单元格大小,以使不同屏幕尺寸下屏幕上的单元格数量保持一致?


您不需要调整单元格大小,只需根据iPhone 5和iPhone 6的尺寸调整集合视图即可。 - user3182143
请查看此链接:http://stackoverflow.com/questions/28088236/uicollectionview-cells-not-horizontal-after-rotation/28204705#28204705 - Harish
2个回答

15
-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
   int numberOfCellInRow = 3;
   CGFloat cellWidth =  [[UIScreen mainScreen] bounds].size.width/numberOfCellInRow;
   return CGSizeMake(cellWidth, cellWidth);
}

1
通过编程设置你的collectionView宽度随屏幕宽度自适应。 - Britto Thomas
如果您的单元格之间有空格,请在计算单元格宽度时考虑它们。 - Britto Thomas

0
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{


return CGSizeMake([(NSString*)[[tagArray objectAtIndex:indexPath.row] objectForKey:@"tag"] sizeWithAttributes:NULL].width+10, 40);

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接