我想设置集合视图的标题,从而实现方法func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView
。
但是,switch语句似乎不起作用;即使我尝试通过根据部分分支来在标题视图中设置标签,所有部分中的结果标题视图也包含我编写的所有标签。
func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView {
switch kind {
case UICollectionElementKindSectionHeader:
let headerView = collectionView.dequeueReusableSupplementaryViewOfKind(kind, withReuseIdentifier: "Header", forIndexPath: indexPath)
let headerLabel = UILabel(frame: CGRectMake(2, 8, 120, 24))
headerView.addSubview(headerLabel)
print(indexPath.section)
switch (indexPath.section) {
case 0:
headerLabel.text = "A"
return headerView
case 1:
headerLabel.text = "B"
return headerView
default:
break
}
return headerView
default:
assert(false, "Unexpected element kind")
}
}
在上面的代码中,两个部分的标签都有标签A和B,彼此重叠。
为什么开关在我的情况下不起作用?
我的集合视图中的内容从服务器获取数据,因此print(indexPath.section)
执行了 2 次,每次打印出0
和1
,按此顺序。
这与问题有关吗?