iOS | 关于瀑布流附带悬停的简易实现

2019-09-30  本文已影响0人  夏浩文

流式布局过去也玩很多种,今天来总结一下瀑布流,市面上应该是不那么流行了,不过无奈产品经理喜欢呀~


自定义布局


悬停关键点

CGFloat headerHeight = CGRectGetHeight(attriture.frame);
CGRect frame = attriture.frame;
frame.origin.y = MIN(MAX(self.collectionView.contentOffset.y, CGRectGetMinY(itemAttribute.frame)-headerHeight-contentInsetOfSection.top),
                      CGRectGetMinY(itemAttribute.frame)+[_heightOfSections[section] floatValue]);
attriture.frame = frame;
attriture.zIndex = (NSIntegerMax/2)+section;
- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds {
    if (_sectionHeadersPinToVisibleBounds) {
        return YES;
    }
    return [super shouldInvalidateLayoutForBoundsChange:newBounds];
}

预览图

玉兰图🌶

也可以下载项目查看~
# [WaterHoverLayout]

上一篇下一篇

猜你喜欢

热点阅读