Swift 3 collectionView 如何设置间距。
Posted
技术标签:
【中文标题】Swift 3 collectionView 如何设置间距。【英文标题】:Swift 3 collectionView how to set spacing. 【发布时间】:2018-04-26 23:18:10 【问题描述】:如何将 3 个单元格居中?它在左边。
如何在每个单元格的所有边设置相同的间距?
显示未找到结果的第二个单元格。你如何使它居中并占据整个屏幕?现在它在左上角被切断了。
【问题讨论】:
这个查询解决了吗?如果是,请通过接受或发布您使用的答案来关闭线程 【参考方案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()
输出:
希望这会有所帮助。
【讨论】:
以上是关于Swift 3 collectionView 如何设置间距。的主要内容,如果未能解决你的问题,请参考以下文章
使用Swift 3单击collectionView单元格内的项目时如何导航另一个视图控制器
如何在 swift 3 中的 tableview 单元格中添加带有自定义视图的 collectionView?
如何检查哪个collectionview是不是在swift中滚动
Swift - 如何在具有多个部分的 collectionView 上执行 BatchUpdates