我在CollectionView上有2个视图,只想滚动所有这3个视图。我知道最好的方法是将这两个顶视图放在我的collectionView标题中。如何在没有任何代码的故事板(界面构建器)中实现此目的? (我在另一个tableView中使用这种方式但我无法使用CollectionoView执行此操作)
我将这两个视图拖到我的collectionView的可重用视图(headerView)中,并且我遇到了这个错误: enter image description here
答案 0 :(得分:0)
您无法在界面构建器中拖放并获取集合视图的标题视图。您还必须实现返回UICollectionReusableView的viewForSupplementaryElementOfKind方法。在使用集合可重用视图时,我们必须以不同的方式处理该视图,类似于我们为可重用单元格所做的事情。
要遵循的步骤。
(注意:使用可重复使用的视图时,不要直接在控制器中创建插座。)
现在使用以下代码更新CollectionViewController。
override func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath:
NSIndexPath) -> UICollectionReusableView {
var reusableView = UICollectionReusableView()
if kind == UICollectionElementKindSectionHeader {
guard let view = collectionView?.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: String(HeaderViewExample), forIndexPath: indexPath) as? HeaderViewExample else { return reusableView }
view.label = "Test String"
view.backgroundColor = UIColor.redColor()
} else {
assert(false, "Unexpected element kind")
}
return reusableView
}