如何仅针对一个部分显示页脚视图?
我发现,我无法通过nil
隐藏其他部分的页脚视图,因为它会导致崩溃。
override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {
var v : UICollectionReusableView! = nil
if kind == UICollectionElementKindSectionHeader {
let x = collectionView.dequeueReusableSupplementaryViewOfKind(UICollectionElementKindSectionHeader, withReuseIdentifier:reuseHeaderIdentifier, forIndexPath:indexPath) as HouseNameReusableView
let h = houses[indexPath.section]
x.nameLabel.text = h["name"] as? String
return x
}else if kind == UICollectionElementKindSectionFooter {
if indexPath.section == houses.count - 1{
let x = collectionView.dequeueReusableSupplementaryViewOfKind(UICollectionElementKindSectionFooter, withReuseIdentifier:reuseFooterIdentifier, forIndexPath:indexPath) as FooterCollectionReusableView
return x
}
}
return v
}
答案 0 :(得分:14)
您无法将nil
传递给其他页脚视图,但您可以将其他页脚视图设为零高度,这相当于同样的事情 - 它们不会出现,因为他们没有身高。
所以实现collectionView:layout:referenceSizeForFooterInSection:
以使所有页脚的高度为零,除了你想要看到的那个。