diff --git a/AsyncDisplayKit/ASCollectionView.mm b/AsyncDisplayKit/ASCollectionView.mm index 8c79a019fe..2d1bf97370 100644 --- a/AsyncDisplayKit/ASCollectionView.mm +++ b/AsyncDisplayKit/ASCollectionView.mm @@ -1368,7 +1368,13 @@ static NSString * const kCellReuseIdentifier = @"_ASCollectionViewCell"; // If, for example, a vertical flow layout has its height changed due to a status bar // appearance update, we do not need to relayout all nodes. // For a more permanent fix to the unsafety mentioned above, see https://github.com/facebook/AsyncDisplayKit/pull/2182 + + // If the bounds have changed, scrollable directions may be invalid until relayout has + // occurred. + [[self collectionViewLayout] invalidateLayout]; + [self layoutIfNeeded]; ASScrollDirection scrollDirection = self.scrollableDirections; + BOOL fixedVertically = (ASScrollDirectionContainsVerticalDirection(scrollDirection) == NO); BOOL fixedHorizontally = (ASScrollDirectionContainsHorizontalDirection(scrollDirection) == NO);