如何在Swift中单击按钮后增加UICollectionViewCell高度并显示标签

时间:2018-03-22 04:45:37

标签: ios swift uicollectionview

假设我有一个UICollectionViewCell,而下面是cell

的布局
LabelOne || LabelTwo || Button

在我的CollectionViewController中,我设置了cellForRowAtIndexPath = 30.现在,我想在标签2下面显示名为labelThree的标签,并在按下按钮后增加我的单元格高度= 60。下面是按下按钮后要完成的布局

LabelOne || LabelTwo || Button
Label Three

有没有人有任何建议?提前谢谢!

2 个答案:

答案 0 :(得分:0)

  
      
  1. 使用自动布局创建自定义单元格,并确保设置每个标签和按钮的高度。还要确保设置顶部和   所有组件的底部约束。这样,细胞就会有   它的高度。
  2.   
  3. 一开始,将标签三的可见性设置为隐藏。
  4.   
  5. 在按钮点击时将标签三的可见性设置为可见。
  6.   
  7. 在此之后调用 cell.layoutIfNeeded 以重置单元格高度。
  8.   

答案 1 :(得分:0)

在cellForRow atIndexPath中:

cell.updateConstraint = {
self.collectionView.beginUpdates()
self.collectionView.endUpdates()
}

在collectionview Cell中:

var updateConstraint: () -> Void = {}
func addLabel() {
    // add three label
    // make cell new constraint
    self.updateConstraint()
}