UICollectionView作为子视图不会更新约束

时间:2015-07-07 15:00:27

标签: ios objective-c uitableview autolayout uicollectionview

我有一个自动布局谜题。以下是描述:

我的UITableViewCell有一个"容器视图"这是一个基本UIView,然后UICollectionView是此容器视图的子视图。

UITableViewCell -> UIView -> UICollectionView

从最终目标开始有点简化,包括tableViewCell下的更多视图,但为了问题,它应该足够好了。

UIViewUICollectionView都有以下格式的约束:

H:|[view]| and V:|[view]|(例如,获取tableViewCell的完整大小)。

由于某些原因,在UICollectionView布置它的单元格之后,约束没有被更新。

以下是有效的:

  1. 如果我用UICollectionView替换UILabel,那么它可以正常工作(例如,tableViewCell根据标签文本正确动态调整大小)。

  2. 如果我从拼图中删除中间UIView(容器视图),那么它一切正常(例如,tableViewCell根据UICollectionView中的单元格数正确动态调整大小)。

  3. 什么不起作用当我将UICollectionView添加到中间视图时,如下所示:UITableViewCell -> UIView -> UICollectionView

    有任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

Apple不建议在uitableview中使用其他可滚动对象作为子视图。

实现目标:

  1. 为您的UICollectionView(到uitableviewcell)添加equalWidth constaint
  2. 为您的UICollectionView(到uitableviewcell)添加equalHeight constaint