为什么 UICollectionViewFlowLayout 不能正常工作?
Why doesn't the UICollectionViewFlowLayout work well?
我想使用 FlowLayout 在一行中显示两个项目,方法是使用以下代码:
override func viewDidLoad()
{
super.viewDidLoad()
setupCV()
}
func setupCV()
{
collectionView.delegate = self
collectionView.dataSource = self
let width = (view.frame.size.width - 10) / 2
let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
layout.itemSize = CGSize(width: width, height: width + 80 )
}
但是,当我 运行 项目时,它显示如下:
我调试的时候,宽度的return值是正确的。
collection view的Size设置我觉得也是正确的:
我也尝试把布局设置部分放在这个函数里:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {}
然而,Xcode甚至没有执行这个功能。
知道发生了什么事吗?我该如何解决这个问题?非常感谢!
将布局设置回 collectionView
:
let layout = UICollectionViewFlowLayout()
layout.itemSize = CGSize(width: width, height: width + 80)
collectionView.collectionViewLayout = layout
我想使用 FlowLayout 在一行中显示两个项目,方法是使用以下代码:
override func viewDidLoad()
{
super.viewDidLoad()
setupCV()
}
func setupCV()
{
collectionView.delegate = self
collectionView.dataSource = self
let width = (view.frame.size.width - 10) / 2
let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
layout.itemSize = CGSize(width: width, height: width + 80 )
}
但是,当我 运行 项目时,它显示如下:
我调试的时候,宽度的return值是正确的。
collection view的Size设置我觉得也是正确的:
我也尝试把布局设置部分放在这个函数里:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {}
然而,Xcode甚至没有执行这个功能。
知道发生了什么事吗?我该如何解决这个问题?非常感谢!
将布局设置回 collectionView
:
let layout = UICollectionViewFlowLayout()
layout.itemSize = CGSize(width: width, height: width + 80)
collectionView.collectionViewLayout = layout