iOS: UICollectionViewCell 根据屏幕大小自动调整大小
iOS: UICollectionViewCell auto adjust size according to screen size
我正在尝试在集合视图中创建 10 个单元格(与屏幕大小相同)。当我 运行 我的应用程序在 iphone5s 模拟器中时,视图恰好包含 5 个单元格。但是当我切换到 iphone6p 模拟器时,视图包含超过 5 个单元格。我应该如何调整单元格大小,使屏幕中的单元格数量在不同屏幕尺寸下保持一致?
-(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);
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
return CGSizeMake([(NSString*)[[tagArray objectAtIndex:indexPath.row] objectForKey:@"tag"] sizeWithAttributes:NULL].width+10, 40);
}
我正在尝试在集合视图中创建 10 个单元格(与屏幕大小相同)。当我 运行 我的应用程序在 iphone5s 模拟器中时,视图恰好包含 5 个单元格。但是当我切换到 iphone6p 模拟器时,视图包含超过 5 个单元格。我应该如何调整单元格大小,使屏幕中的单元格数量在不同屏幕尺寸下保持一致?
-(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);
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
return CGSizeMake([(NSString*)[[tagArray objectAtIndex:indexPath.row] objectForKey:@"tag"] sizeWithAttributes:NULL].width+10, 40);
}