【问题标题】:Swift 3 collectionView how to set spacing.Swift 3 collectionView 如何设置间距。
【发布时间】:2018-04-26 23:18:10
【问题描述】:

  1. 如何将 3 个单元格居中?它在左边。

  2. 如何在每个单元格的所有边设置相同的间距?

  3. 显示未找到结果的第二个单元格。你如何使它居中并占据整个屏幕?现在它在左上角被切断了。

【问题讨论】:

  • 这个查询解决了吗?如果是,请通过接受或发布您使用的答案来关闭线程

标签: swift swift3 collections view


【解决方案1】:

你需要使用collectionView flowLayout

let width = UIScreen.main.bounds.size.width

//MARK:- Collection View Flow Layouts
extension HomeVC : UICollectionViewDelegateFlowLayout
{    
    //MARK: Setting size of cell
    public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
    {
        return CGSize(width: width/3-16, height: width/3-16)
    }

    //MARK: Setting space Around Corners of Cells
    public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets
    {
        return  UIEdgeInsetsMake(8, 8, 8, 8)
    }

    //MARK: Setting space between two sections
    public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat
    {
        return 0
    }

    //MARK: Setting Space between two Cels
    public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat
    {
        return 8
    }
}

故事板设计

输出:

【讨论】:

    【解决方案2】:

    你也可以这样使用:

        let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
        let width = UIScreen.main.bounds.size.width
        layout.itemSize = CGSize(width: width/3.05, height: width/3.05)
        layout.sectionInset = UIEdgeInsets(top: 2, left: 1, bottom: 2, right: 1)
        layout.minimumInteritemSpacing = 0
        layout.minimumLineSpacing = 2
        collectionView!.collectionViewLayout = layout
        collectionView.reloadData()
    

    输出:

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-30
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      • 1970-01-01
      相关资源
      最近更新 更多