kingjiajie/JJCollectionViewRoundFlowLayout

section 中只有 header 和 footer,没有 item 的情况,无法展示 section 的圆角和阴影,希望能优化一下

Closed this issue · 4 comments

IMG_0384
另外,header 如果有背景色的话,实际上还是整行的

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout borderEdgeInsertsForSectionAtIndex:(NSInteger)section;

这个方法不能对 sectionHeader 的 frame 产生影响

收到你的反馈了,我查看一下。

IMG_0384
另外,header 如果有背景色的话,实际上还是整行的

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout borderEdgeInsertsForSectionAtIndex:(NSInteger)section;

这个方法不能对 sectionHeader 的 frame 产生影响

第一个问题我在查看,稍等回复哈。
第二个问题提到

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout borderEdgeInsertsForSectionAtIndex:(NSInteger)section;

不能对 sectionHeader 的 frame 产生影响

该方法只对背景图背景颜色进行偏移显示的哦, 不会对原生item、header、footer的size进行修改的。

IMG_0384
另外,header 如果有背景色的话,实际上还是整行的

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout borderEdgeInsertsForSectionAtIndex:(NSInteger)section;

这个方法不能对 sectionHeader 的 frame 产生影响

您好,第一个问题,提到item为0的时候,无法展示 section 的圆角和阴影

配置上是可以配置的

@property (nonatomic, assign) BOOL isCanCalculateWhenRowEmpty;


JJCollectionViewRoundFlowLayout *layout = [[JJCollectionViewRoundFlowLayout alloc]init];
        layout.isCanCalculateWhenRowEmpty = YES;

上述配置

或者使用单独设置某一section

/// 当Cell个数为0时,是否允许进行计算(根据section判断是否单独计算,Cell个数为0时,会检测计算Header或Footer)
/// @param collectionView collectionView description
/// @param collectionViewLayout collectionViewLayout description
/// @param section section description
- (BOOL)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout isCanCalculateWhenRowEmptyWithSection:(NSInteger)section;

看看是否解决您的问题。

感谢,我后来也发现了需要设置 isCanCalculateWhenRowEmpty 这个属性,否则低版本系统会崩溃