我有一个集合视图,需要根据我的集合视图的哪个部分显示不同类型的标题。
但是,当我将第二个可重复使用的视图添加到我的故事板时,它会自动将其作为我的页脚视图。
我的集合视图有两种不同的节标题吗?
答案 0 :(得分:0)
您必须以编程方式dequeue
headerView
以编程方式执行此操作。类似下面的内容将对您有所帮助:
override func collectionView(_ collectionView: UICollectionView,
viewForSupplementaryElementOfKind kind: String,
at indexPath: IndexPath) -> UICollectionReusableView {
switch kind {
case UICollectionElementKindSectionHeader:
var headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind,
withReuseIdentifier: "HeaderOne",
for: indexPath) as! HeaderOneView
if sectionTwo {
headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind,
withReuseIdentifier: "HeaderTwo",
for: indexPath) as! HeaderTwoView
}
return headerView
default:
assert(false, "Unexpected element kind")
}
}
此外,您可能必须使用此function register(_:forSupplementaryViewOfKind:withReuseIdentifier:)
来注册不是通过storyboard
创建的视图。