Ios 如何在一行中显示两个项目?使用uicollectionView
我跟随这段视频查看了学习资料集() 我写了这样的代码:Ios 如何在一行中显示两个项目?使用uicollectionView,ios,swift,uicollectionview,uicollectionviewflowlayout,iphone-8,Ios,Swift,Uicollectionview,Uicollectionviewflowlayout,Iphone 8,我跟随这段视频查看了学习资料集() 我写了这样的代码: if ( CollectionViewFlowLayout == nil ){ let numberOfItemsForRow : CGFloat = 2 let UpDownSpace : CGFloat = 5 let LeftRightSpace : CGFloat = 5 //CollectionViewFlowLayout은 delgate 처럼 소재지를 수정하고
if ( CollectionViewFlowLayout == nil ){
let numberOfItemsForRow : CGFloat = 2
let UpDownSpace : CGFloat = 5
let LeftRightSpace : CGFloat = 5
//CollectionViewFlowLayout은 delgate 처럼 소재지를 수정하고 꾸밀 수 있는 것이다.
CollectionViewFlowLayout = UICollectionViewFlowLayout()
//이건 margin의 크기를 정해주는 것이다.
CollectionViewFlowLayout?.sectionInset = UIEdgeInsets.zero
//이건 화면을 수직으로 내릴 것이냐, 수평으로 스크롤 할것이냐를 정해준다.
CollectionViewFlowLayout?.scrollDirection = .vertical
//소재지의 위 아래의 간격을 정해준다.
CollectionViewFlowLayout?.minimumLineSpacing = UpDownSpace
//같은 줄에 있는 소재지의 오른쪽 왼쪽 사이의 간격을 정해준다.
CollectionViewFlowLayout?.minimumInteritemSpacing = LeftRightSpace
let total = (LeftRightSpace * (numberOfItemsForRow - 1))
let width = (CollectionView.frame.width - total) / numberOfItemsForRow
let height = width
//itemsize : 소재지의 크기를 정 할 수 있다
CollectionViewFlowLayout?.itemSize = CGSize(width: width, height: height)
CollectionView.setCollectionViewLayout(CollectionViewFlowLayout!, animated: true)
}
但当我在iPhone8上使用模拟器时,它会出错
其他事情都很好!没有iPhone8
我认为您的
总数应计算为:
让total=LeftRightSpace*(numberOfItemsForRow+1)
,因为您要去掉左、右和项目间的间距
或者尝试将宽度计算为:
let width=(UIScreen.main.bounds.width-total)/numberOfItemsForRow
这可能是四舍五入的情况。尝试从宽度中减去更多像素。哦,我的天哪!!非常感谢你!!让total=LeftRightSpace*(NumberOfItems箭头+1)不起作用。但是让width=(UIScreen.main.bounds.width-total)/numberofitems错误工作!!!谢谢谢谢谢谢谢谢!!!我很高兴能帮上忙!