New*_*ter 24 iphone ios uicollectionview uicollectionviewcell
在我的iPhone应用程序中,我在集合视图上显示图像.我从网址获取图片,网址也是我获得的图片大小.例如: - 假设有两种图像横向和纵向.我得到肖像图像的值P和横向图像的L值
如何自定义collectionView单元格的大小?
Ani*_*ese 64
使用此UICollectionViewDelegateFlowLayout方法
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath;
Run Code Online (Sandbox Code Playgroud)
1)您可以维护和交换多个布局对象,但有一种更简单的方法.只需将以下内容添加到UICollectionViewController子类中,并根据需要调整大小:
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
// Adjust cell size for orientation
if (UIDeviceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation])) {
return CGSizeMake(170.f, 170.f);
}
return CGSizeMake(192.f, 192.f);
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
[self.collectionView performBatchUpdates:nil completion:nil];
}
Run Code Online (Sandbox Code Playgroud)
调用-performBatchUpdates:completion:将使布局无效并使用动画调整单元格的大小(如果您没有执行额外调整,则可以将nil传递给两个块参数).
2)不要将项目大小硬编码-collectionView:layout:sizeForItemAtIndexPath,只需将collectionView的边界的高度或宽度除以您想要适合屏幕的单元格数.如果UICollectionView水平滚动则使用高度,如果垂直滚动则使用宽度.
| 归档时间: |
|
| 查看次数: |
36146 次 |
| 最近记录: |