首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同iDevices的自适应布局UICollectionViewCell大小

不同iDevices的自适应布局UICollectionViewCell大小
EN

Stack Overflow用户
提问于 2015-02-11 14:25:08
回答 1查看 955关注 0票数 1

我正在为不同的iDevices屏幕尺寸使用自适应布局,我在纵向显示两个单元格时遇到了问题。我设计了一个单元格,比如说130 x 210,它在iPhone 5上看起来很完美,但在iPhone 6中,我们有超过30像素的像素,为此我计算了剩余空间并设置了相等的空间,但这看起来很丑陋(请参阅

当我在iPhone 6+上看起来更奇怪,在iPad上会有更多的单元格在一行中,建议我一个处理这种情况的方法,或者我应该计算每次项目的大小和项目的数量,屏幕上可以包含相应的空间。这就是我现在的计算方式。

代码语言:javascript
复制
int space = self.view.frame.size.width;
space = space - 130 *2;
space = space/3;
UICollectionViewFlowLayout *flow = [[UICollectionViewFlowLayout alloc] init];
flow.minimumInteritemSpacing = space;
flow.minimumLineSpacing = space;
flow.scrollDirection = UICollectionViewScrollDirectionVertical;
flow.sectionInset = UIEdgeInsetsMake(space, space, space, space);
flow.itemSize = CGSizeMake(130, 210);
[self.collectionViewGames setCollectionViewLayout:flow];
EN

回答 1

Stack Overflow用户

发布于 2015-02-11 14:38:19

我在实现一个类似于照片应用的应用时也遇到了同样的问题。我在这里所做的是将间距的大小固定为一个常量值。基于剩余的空间,我计算了项目大小。

下面是我的例子中的代码

代码语言:javascript
复制
 var flowLayout = // your flow layout


        var itemWidth = self.view.frame.size.width / (5) // i am using 5 cells in a row
    flowLayout.itemSize = CGSizeMake(itemWidth - 2, itemWidth - 2)
    flowLayout.scrollDirection = UICollectionViewScrollDirection.Vertical
    flowLayout.sectionInset = UIEdgeInsets(top: 0, left: 0 , bottom: 0, right: 0)
    flowLayout.minimumInteritemSpacing = 2
    flowLayout.minimumLineSpacing = 2
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28447828

复制
相关文章

相似问题

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