ios - UICollectionView,只是让单元格适合宽度?

标签 ios uicollectionview uicollectionviewcell

这是一个简单的黄色 UICollectionView

enter image description here

红色箭头设置单元格的宽度。 (待定:单击粉红色单元格:对于“大小”,选择“默认”,然后您在红色箭头处设置的内容将成为单元格的大小。)

例如,对于直立的 iPhone,将宽度设置为 320。

但这看起来很疯狂……我当然可以根据 UICollectionView 的宽度设置单元格宽度

自动调整 View 本身没有问题..

enter image description here

这很好。

但我不能将 CELL 的宽度设置为“与 View 相同”,这似乎很疯狂。似乎很难相信必须在代码中手动设置它?

TBC 换句话说,正如 Nikita 指出的那样,

-(CGSize) collectionView:(UICollectionView *)collectionView
     layout:(UICollectionViewLayout *)collectionViewLayout
     sizeForItemAtIndexPath:(NSIndexPath *)indexPath
    {
    return self.view.frame.size;
    }

(实际上你通常也需要这个......)

-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView
   layout:(UICollectionViewLayout*)collectionViewLayout
   insetForSectionAtIndex:(NSInteger)section
    {
    return UIEdgeInsetsMake(0,0,0,0);   //t,l,b,r
    }

事实上 - 你必须在代码中做到这一点?!在 Storyboard 、自动布局或其他任何方式中都无法做到这一点?!

最佳答案

我觉得你需要看看

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

UICollectionViewLayout,您可以在其中根据方向和当前帧设置大小。


确实看起来您只需要在代码中执行此操作即可。

关于ios - UICollectionView,只是让单元格适合宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24915443/

相关文章:

ios - 在 cellForItemAtIndexPath 中的 UICollectionViewCell 中更改 UIView 的框架

ios - 使用基本身份验证进行 Rest API 调用

ios - 如何获取 Facebook 提要数据

ios - Swift 4 的 Facebook SDK 已过时。我应该改用 Facebook SDK for iOS 吗?

ios - 添加新单元格时, Collection View 单元格静态变量会发生变化

ios - UICollectionView 滚动很慢

ios - 将 UICollectionView 的某些部分的触摸传递给底层 View

ios - 如何为 SFSafariViewController 中的控件设置自定义字体?

ios - 滚动 CollectionView 期间不必要地打开 YouTube 播放器

ios - 如何使用单元格中的按钮获取 CollectionViewCell 的当前项目?