1.悬停效果
主要参考此博客,使用 JHHeaderFlowLayout.h。生成UICollectionReusableView即可。
JHHeaderFlowLayout *layout = [[JHHeaderFlowLayout alloc] init]; layout.minimumInteritemSpacing = 0; layout.minimumLineSpacing = 10; layout.sectionInset = UIEdgeInsetsMake(kLeftSpace, kLeftSpace, kLeftSpace, kLeftSpace); //naviHeight 决定顶部悬浮高度 layout.naviHeight = KNAV_HEIGHT;
2.顶部 类似 TableViewHeaderView效果
参考此博文。当有顶部设置轮播图、悬浮headerview上有view效果时,tableView 有 TableViewHeaderView,collectionView 是没有的,
所以改变 collectionview 的内延边距,将图片添加在内延空白的位置。
//1.设置collectionview contentInset_collectionView.contentInset = UIEdgeInsetsMake(topImg_Height, 0, 0, 0);//2.填充图片ViewUIView *topView = [[UIView alloc]initWithFrame:CGRectMake(0, -topImg_Height, kScreenW, topImg_Height)]; [self.collectionView addSubview:topView];
注意:这种方法是可行的,但是在两种效果都需要的情况下,要注意collectionView 的 contentOffset,添加header后,contentOffset此时为-topImg_Height.