mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
[ASCollectionLayout] Add ASCollectionGalleryLayoutSizeProviding (#451)
* Add ASCollectionGalleryLayoutSizeProviding - This allows users to return different sizes based on certain conditions, such as the collection node's bounds or grid constants. - ASPagerNode will also act as a size provider to ensure all pages have an up-to-date size that is its bounds. * Update CHANGELOG * ASPagerNode to use gallery layout delegate if told to
This commit is contained in:
@@ -85,12 +85,9 @@ static const ASScrollDirection kASStaticScrollDirection = (ASScrollDirectionRigh
|
||||
+ (ASCollectionLayoutState *)calculateLayoutWithContext:(ASCollectionLayoutContext *)context
|
||||
{
|
||||
if (context.elements == nil) {
|
||||
return [[ASCollectionLayoutState alloc] initWithContext:context
|
||||
contentSize:CGSizeZero
|
||||
elementToLayoutAttributesTable:[NSMapTable elementToLayoutAttributesTable]];
|
||||
return [[ASCollectionLayoutState alloc] initWithContext:context];
|
||||
}
|
||||
|
||||
ASDisplayNodeAssertTrue([context.layoutDelegateClass conformsToProtocol:@protocol(ASCollectionLayoutDelegate)]);
|
||||
ASCollectionLayoutState *layout = [context.layoutDelegateClass calculateLayoutWithContext:context];
|
||||
[context.layoutCache setLayout:layout forContext:context];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user