【问题标题】:Let nested UICollectionViews size themselves?让嵌套的 UICollectionViews 自己调整大小?
【发布时间】:2015-12-28 08:02:56
【问题描述】:

我有一个布局,它以不同的方式显示 3 种类型的数据:我有类型,它们在彼此之下,我有位置,它们也在彼此之下,然后我有时间,它们在每个旁边流动其他,并占用他们需要的所有空间。一个例子:

我曾想过将其设为 3 UICollectionViews,他们会尝试调整自己的大小。但我已经尝试过(但失败了)。

所有单元格都是 xib,我在添加数据时设置了约束。这是我在单元格中设置数据时执行的代码:

hallsCollectionView.dataSource = TheaterHallCollectionViewDataSource(ticketType)
hallsCollectionView.reloadData()
hallsCollectionView.collectionViewLayout.invalidateLayout()
hallsCollectionView.setNeedsLayout()
hallsCollectionView.layoutIfNeeded()
hallsCollectionViewHeightConstraint.constant = hallsCollectionView.collectionViewLayout.collectionViewContentSize.height
layoutIfNeeded()

但是当我设置断点时,collectionViewContentSize 不正确,它始终是只有一项时的高度,即使我在布局 collectionviewcells 之前设置了数据源。

【问题讨论】:

标签: ios xamarin xamarin.ios uicollectionview flowlayout


【解决方案1】:

所以我想我找到了我必须做的事情,我需要在 superview 上调用 layoutIfNeeded(),而另一件事是 UICollectionViewCell 仍然有来自 xib 的框架...

另一方面,我已将其从 3 级深度移至仅 2 级,因为我可以将“类型 1”和“类型 2”标题简化为单元格。我目前将它作为每个部分中的额外单元格,但我可以看到自己在不久的将来将其更改为表格视图,因为它们更容易用于标题单元格,并且它们不需要宽度信息.

如果有人想向我解释为什么这些事情是这样的,请这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2011-06-06
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多