diff --git a/doric-iOS/Pod/Classes/Shader/DoricFlowLayoutNode.m b/doric-iOS/Pod/Classes/Shader/DoricFlowLayoutNode.m index 22ee1a7b..832ed877 100644 --- a/doric-iOS/Pod/Classes/Shader/DoricFlowLayoutNode.m +++ b/doric-iOS/Pod/Classes/Shader/DoricFlowLayoutNode.m @@ -90,7 +90,12 @@ - (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect { - (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath { NSNumber *minYOfColumn = @(0); - for (NSNumber *key in self.columnHeightInfo.allKeys) { + NSArray *keys = self.columnHeightInfo.allKeys; + NSArray *sortedKeys = [keys sortedArrayUsingComparator:^NSComparisonResult(NSNumber * obj1, NSNumber *obj2) { + return [obj1 intValue] <= [obj2 intValue] ? -1 : 1; + }]; + + for (NSNumber *key in sortedKeys) { if ([self.columnHeightInfo[key] floatValue] < [self.columnHeightInfo[minYOfColumn] floatValue]) { minYOfColumn = key; }