- (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect这个方法中返回所有布局属性和计算好的当前rect范围内的布局属性,有什么区别?区别是什么?性能影响大吗?代码如下:- (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect {
// [super layoutAttributesForElementsInRect:rect];
CGFloat contentSetY = self.collectionView.contentOffset.y + 64;
if (self.classifyHeaderAttr != nil && self.classifyHeaderContentOffsetY <= contentSetY) {
self.classifyHeaderAttr.zIndex = 1;
CGRect tmpRect = self.classifyHeaderAttr.frame;
tmpRect.origin.y = contentSetY;
self.classifyHeaderAttr.frame = tmpRect;
} else {
if (self.classifyHeaderContentOffsetY != self.classifyHeaderAttr.frame.origin.y) {
CGRect tmpRect = self.classifyHeaderAttr.frame;
tmpRect.origin.y = self.classifyHeaderContentOffsetY;
self.classifyHeaderAttr.frame = tmpRect;
}
}
return self.allAttributesArray;
}
// [super layoutAttributesForElementsInRect:rect];
CGFloat contentSetY = self.collectionView.contentOffset.y + 64;
if (self.classifyHeaderAttr != nil && self.classifyHeaderContentOffsetY <= contentSetY) {
self.classifyHeaderAttr.zIndex = 1;
CGRect tmpRect = self.classifyHeaderAttr.frame;
tmpRect.origin.y = contentSetY;
self.classifyHeaderAttr.frame = tmpRect;
} else {
if (self.classifyHeaderContentOffsetY != self.classifyHeaderAttr.frame.origin.y) {
CGRect tmpRect = self.classifyHeaderAttr.frame;
tmpRect.origin.y = self.classifyHeaderContentOffsetY;
self.classifyHeaderAttr.frame = tmpRect;
}
}
return self.allAttributesArray;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货