【问题标题】:Custom UICollectionViewCell size in Swift 4.2Swift 4.2 中的自定义 UICollectionViewCell 大小
【发布时间】:2019-04-20 15:42:24
【问题描述】:

我正在开发一个填字游戏应用程序,但是当我计算 UICollectionView 的每个 itemSize 时,我总是遗漏一些东西。我为 iPhone SE 找到了正确的尺寸,但为 iPhone XR 找到了错误的尺寸。我做错了什么?

func setLayout() -> UICollectionViewFlowLayout {
    let layout = UICollectionViewFlowLayout()
    layout.itemSize = getCellSize()
    layout.minimumInteritemSpacing = 0
    layout.minimumLineSpacing = 0
    layout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
    return layout
}

func getCellSize() -> CGSize {
    let width:CGFloat = self.view.frame.width/CGFloat(crossWordData[0].count)
    let height:CGFloat = (self.view.frame.height -  TitleView.frame.height)/CGFloat(crossWordData.count) - cellsBorderWidth
    //cellsBorderWidth = 1.2
    let cellSize = CGSize(width:width , height:height)
    return cellSize
}

【问题讨论】:

    标签: swift layout uicollectionviewcell


    【解决方案1】:

    这是因为self.view 结束于显示底部的位置。新的 iPhone(X、Xs、Xs Max、Xr)在底部有这个“家庭手势”的地方。因此,对于您的计算,您的 CollectionView 的内容比 CollectionView 大,因为您的 CollectionView 的底部约束等于安全区域底部约束,这对于新 iPhone 来说高于显示底部的位置。所以当你需要宽度和高度而不是这个时

    let width:CGFloat = self.view.frame.width/CGFloat(crossWordData[0].count)
    let height:CGFloat = (self.view.frame.height -  TitleView.frame.height)/CGFloat(crossWordData.count) - cellsBorderWidth
    

    叫这个

    let width:CGFloat = self.yourCollectionView.frame.width/CGFloat(crossWordData[0].count)
    let height:CGFloat = self.yourCollectionView.frame.height/CGFloat(crossWordData.count) - cellsBorderWidth
    

    【讨论】:

      【解决方案2】:

      最终这就是我更改代码的方式 -

      let width:CGFloat = self.view.frame.width/CGFloat(crossWordData[0].count)
      let height:CGFloat = self.view.frame.height*0.85/CGFloat(crossWordData.count)
      

      屏幕布局中的集合视图高度为 85%

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-04
        • 1970-01-01
        • 2021-05-07
        • 1970-01-01
        • 2018-06-03
        • 1970-01-01
        相关资源
        最近更新 更多