基于设备的

问题描述

我正在使用UICollectionViewCompositionalLayout来展示带有UICollectionView的项目。物品是方形的,我想:

  • 在iPhone上,每行包含4个项目。
  • 在iPad上,每行包含6个项目。

首先,我尝试使用UICollectionViewCompositionalLayout并在iPhone和iPad上每行显示4个项目。每行中的项目数没有错,但是在iPad上,项目太小了!

代码

func makeGridLayout() -> UICollectionViewLayout {
        
    let itemSize = NSCollectionLayoutSize(
        widthDimension  : .fractionalWidth(0.25),heightDimension : .fractionalHeight(1.0)
    )
    let item = NSCollectionLayoutItem(layoutSize: itemSize)
        
        
    let groupSize = NSCollectionLayoutSize(
        widthDimension  : .fractionalWidth(1),heightDimension : .fractionalWidth(0.25)
    )
        
        
    let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize,subitem: item,count: 4)
    
    let section = NSCollectionLayoutSection(group: group)
    section.contentInsets = .init(top: 16,leading: 16,bottom: 16,trailing: 16)
    
    let layout = UICollectionViewCompositionalLayout(section: section)
    
    return layout
}

在iPhone模拟器上:

enter image description here

在iPad Simulator上:

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)