[iOS] fix waterfall component repaint bug
diff --git a/ios/sdk/WeexSDK/Sources/Component/Recycler/WXRecyclerComponent.mm b/ios/sdk/WeexSDK/Sources/Component/Recycler/WXRecyclerComponent.mm
index bc246b4..22be575 100644
--- a/ios/sdk/WeexSDK/Sources/Component/Recycler/WXRecyclerComponent.mm
+++ b/ios/sdk/WeexSDK/Sources/Component/Recycler/WXRecyclerComponent.mm
@@ -252,18 +252,26 @@
}
if (attributes[@"columnWidth"]) {
- layout.columnWidth = [WXConvert WXLength:attributes[@"columnWidth"] isFloat:YES scaleFactor:scaleFactor];
- needUpdateLayout = YES;
+ WXLength* columnWidth = [WXConvert WXLength:attributes[@"columnWidth"] isFloat:YES scaleFactor:scaleFactor];
+ if (![columnWidth isEqualToLength:layout.columnWidth]) {
+ layout.columnWidth = columnWidth;
+ needUpdateLayout = YES;
+ }
}
if (attributes[@"columnCount"]) {
- layout.columnCount = [WXConvert WXLength:attributes[@"columnCount"] isFloat:NO scaleFactor:1.0];
-
- needUpdateLayout = YES;
+ WXLength* columCount = [WXConvert WXLength:attributes[@"columnCount"] isFloat:NO scaleFactor:1.0];
+ if (![columCount isEqualToLength:layout.columnCount]) {
+ layout.columnCount = columCount;
+ needUpdateLayout = YES;
+ }
}
if (attributes[@"columnGap"]) {
- layout.columnGap = [self _floatValueForColumnGap:([WXConvert WXLength:attributes[@"columnGap"] isFloat:YES scaleFactor:scaleFactor])];
- needUpdateLayout = YES;
+ float columnGap = [self _floatValueForColumnGap:([WXConvert WXLength:attributes[@"columnGap"] isFloat:YES scaleFactor:scaleFactor])];
+ if (columnGap != layout.columnGap) {
+ layout.columnGap = columnGap;
+ needUpdateLayout = YES;
+ }
}
if (attributes[@"leftGap"]) {
layout.leftGap = [WXConvert WXPixelType:attributes[@"leftGap"] scaleFactor:scaleFactor];