显示具有 2 列大小相等的方形单元格的 UICollectionView
Posted
技术标签:
【中文标题】显示具有 2 列大小相等的方形单元格的 UICollectionView【英文标题】:Display UICollectionView with 2 columns of equal size square cells 【发布时间】:2018-08-13 08:32:24 【问题描述】:我正在尝试完成以下工作:
我已经关注this question 中的答案,但我得到了下面的图片:
这是集合视图控制器的代码:
class MainMenuViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout
@IBOutlet var collectionView: UICollectionView!
@IBOutlet weak var dateTimeLabel: MarqueeLabel!
@IBOutlet weak var iconButton: UIButton!
@IBOutlet var imageView: UIImageView!
var iconButtonTimer: Timer!
var upDateTimer: Timer!
var statusString: String!
var alertTitle: String!
var networkStatusString: String!
override func viewDidLoad()
super.viewDidLoad()
collectionView.dataSource = self
collectionView.delegate = self
collectionView.register(UINib.init(nibName: "MainMenuCell", bundle: nil), forCellWithReuseIdentifier: "MainMenuCell")
collectionView.collectionViewLayout = MainMenuLayout()
func numberOfSections(in collectionView: UICollectionView) -> Int
return 8
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
return 2
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize
print(#function)
let padding: CGFloat = 50
let collectionViewSize = collectionView.frame.size.width - padding
return CGSize(width: collectionViewSize/2, height: collectionViewSize/2)
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "MainMenuCell", for: indexPath)
cell.backgroundColor = UIColor.red
return cell
这就是故事板...
【问题讨论】:
问题到底出在哪里? 【参考方案1】:符合UICollectionViewDelegateFlowLayout
并实施
func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
insetForSectionAt section: Int) -> UIEdgeInsets
return UIEdgeInsetsMake(10, 10, 10, 10)
也评论这一行
collectionView.collectionViewLayout = MainMenuLayout()
因为不需要自定义布局来完成你想要的
【讨论】:
谢谢。快到了,但我只有 1 列,我需要 2 谢谢,我在你的回答中错过了。以上是关于显示具有 2 列大小相等的方形单元格的 UICollectionView的主要内容,如果未能解决你的问题,请参考以下文章
在EXCEL中,两个单元格的值不相等时,单元格的颜色变为红色,要如何设置.
设置 tableviewcell 高度以显示具有动态高度单元格的完整内部/嵌套 uitableview
SwiftUI:如何创建具有相同行数和列数的 LazyGrid?