Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在一行中显示两个项目?使用uicollectionView_Ios_Swift_Uicollectionview_Uicollectionviewflowlayout_Iphone 8 - Fatal编程技术网

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错误工作!!!谢谢谢谢谢谢谢谢!!!我很高兴能帮上忙!