mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 22:25:57 +00:00
Clean up layout delegate protocol API
This commit is contained in:
@@ -754,16 +754,16 @@ static BOOL _isInterceptedSelector(SEL sel)
|
|||||||
return [_layoutDelegate collectionView:self constrainedSizeForSupplementaryNodeOfKind:kind atIndexPath:indexPath];
|
return [_layoutDelegate collectionView:self constrainedSizeForSupplementaryNodeOfKind:kind atIndexPath:indexPath];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSUInteger)dataController:(ASCollectionDataController *)dataController supplementaryViewsOfKind:(NSString *)kind inSection:(NSUInteger)section
|
- (NSUInteger)dataController:(ASCollectionDataController *)dataController supplementaryNodesOfKind:(NSString *)kind inSection:(NSUInteger)section
|
||||||
{
|
{
|
||||||
ASDisplayNodeAssert(_layoutDelegate != nil, @"To support supplementary nodes in ASCollectionView, it must have a layoutDelegate for layout inspection. (See ASCollectionViewFlowLayoutInspector for an example.)");
|
ASDisplayNodeAssert(_layoutDelegate != nil, @"To support supplementary nodes in ASCollectionView, it must have a layoutDelegate for layout inspection. (See ASCollectionViewFlowLayoutInspector for an example.)");
|
||||||
return [_layoutDelegate collectionView:self supplementaryViewsOfKind:kind inSection:section];
|
return [_layoutDelegate collectionView:self supplementaryNodesOfKind:kind inSection:section];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSUInteger)dataController:(ASCollectionDataController *)dataController numberOfSectionsForSupplementaryKind:(NSString *)kind;
|
- (NSUInteger)dataController:(ASCollectionDataController *)dataController numberOfSectionsForSupplementaryNodeOfKind:(NSString *)kind;
|
||||||
{
|
{
|
||||||
ASDisplayNodeAssert(_layoutDelegate != nil, @"To support supplementary nodes in ASCollectionView, it must have a layoutDelegate for layout inspection. (See ASCollectionViewFlowLayoutInspector for an example.)");
|
ASDisplayNodeAssert(_layoutDelegate != nil, @"To support supplementary nodes in ASCollectionView, it must have a layoutDelegate for layout inspection. (See ASCollectionViewFlowLayoutInspector for an example.)");
|
||||||
return [_layoutDelegate collectionView:self numberOfSectionsForSupplementaryKind:kind];
|
return [_layoutDelegate collectionView:self numberOfSectionsForSupplementaryNodeOfKind:kind];
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - ASRangeControllerDelegate.
|
#pragma mark - ASRangeControllerDelegate.
|
||||||
|
|||||||
@@ -26,9 +26,9 @@
|
|||||||
|
|
||||||
- (NSArray *)supplementaryNodeKindsInDataController:(ASCollectionDataController *)dataController;
|
- (NSArray *)supplementaryNodeKindsInDataController:(ASCollectionDataController *)dataController;
|
||||||
|
|
||||||
- (NSUInteger)dataController:(ASCollectionDataController *)dataController numberOfSectionsForSupplementaryKind:(NSString *)kind;
|
- (NSUInteger)dataController:(ASCollectionDataController *)dataController numberOfSectionsForSupplementaryNodeOfKind:(NSString *)kind;
|
||||||
|
|
||||||
- (NSUInteger)dataController:(ASCollectionDataController *)dataController supplementaryViewsOfKind:(NSString *)kind inSection:(NSUInteger)section;
|
- (NSUInteger)dataController:(ASCollectionDataController *)dataController supplementaryNodesOfKind:(NSString *)kind inSection:(NSUInteger)section;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
[self deleteSectionsOfKind:kind atIndexSet:indexSet completion:nil];
|
[self deleteSectionsOfKind:kind atIndexSet:indexSet completion:nil];
|
||||||
|
|
||||||
// Insert each section
|
// Insert each section
|
||||||
NSUInteger sectionCount = [self.collectionDataSource dataController:self numberOfSectionsForSupplementaryKind:kind];
|
NSUInteger sectionCount = [self.collectionDataSource dataController:self numberOfSectionsForSupplementaryNodeOfKind:kind];
|
||||||
NSMutableArray *sections = [NSMutableArray arrayWithCapacity:sectionCount];
|
NSMutableArray *sections = [NSMutableArray arrayWithCapacity:sectionCount];
|
||||||
for (int i = 0; i < sectionCount; i++) {
|
for (int i = 0; i < sectionCount; i++) {
|
||||||
[sections addObject:[[NSMutableArray alloc] init]];
|
[sections addObject:[[NSMutableArray alloc] init]];
|
||||||
@@ -163,10 +163,10 @@
|
|||||||
|
|
||||||
- (void)_populateSupplementaryNodesOfKind:(NSString *)kind withMutableNodes:(NSMutableArray *)nodes mutableIndexPaths:(NSMutableArray *)indexPaths
|
- (void)_populateSupplementaryNodesOfKind:(NSString *)kind withMutableNodes:(NSMutableArray *)nodes mutableIndexPaths:(NSMutableArray *)indexPaths
|
||||||
{
|
{
|
||||||
NSUInteger sectionCount = [self.collectionDataSource dataController:self numberOfSectionsForSupplementaryKind:kind];
|
NSUInteger sectionCount = [self.collectionDataSource dataController:self numberOfSectionsForSupplementaryNodeOfKind:kind];
|
||||||
for (NSUInteger i = 0; i < sectionCount; i++) {
|
for (NSUInteger i = 0; i < sectionCount; i++) {
|
||||||
NSIndexPath *sectionIndexPath = [[NSIndexPath alloc] initWithIndex:i];
|
NSIndexPath *sectionIndexPath = [[NSIndexPath alloc] initWithIndex:i];
|
||||||
NSUInteger rowCount = [self.collectionDataSource dataController:self supplementaryViewsOfKind:kind inSection:i];
|
NSUInteger rowCount = [self.collectionDataSource dataController:self supplementaryNodesOfKind:kind inSection:i];
|
||||||
for (NSUInteger j = 0; j < rowCount; j++) {
|
for (NSUInteger j = 0; j < rowCount; j++) {
|
||||||
NSIndexPath *indexPath = [sectionIndexPath indexPathByAddingIndex:j];
|
NSIndexPath *indexPath = [sectionIndexPath indexPathByAddingIndex:j];
|
||||||
[indexPaths addObject:indexPath];
|
[indexPaths addObject:indexPath];
|
||||||
@@ -178,7 +178,7 @@
|
|||||||
- (void)_populateSupplementaryNodesOfKind:(NSString *)kind withSections:(NSIndexSet *)sections mutableNodes:(NSMutableArray *)nodes mutableIndexPaths:(NSMutableArray *)indexPaths
|
- (void)_populateSupplementaryNodesOfKind:(NSString *)kind withSections:(NSIndexSet *)sections mutableNodes:(NSMutableArray *)nodes mutableIndexPaths:(NSMutableArray *)indexPaths
|
||||||
{
|
{
|
||||||
[sections enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
|
[sections enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) {
|
||||||
NSUInteger rowNum = [self.collectionDataSource dataController:self supplementaryViewsOfKind:kind inSection:idx];
|
NSUInteger rowNum = [self.collectionDataSource dataController:self supplementaryNodesOfKind:kind inSection:idx];
|
||||||
NSIndexPath *sectionIndex = [[NSIndexPath alloc] initWithIndex:idx];
|
NSIndexPath *sectionIndex = [[NSIndexPath alloc] initWithIndex:idx];
|
||||||
for (NSUInteger i = 0; i < rowNum; i++) {
|
for (NSUInteger i = 0; i < rowNum; i++) {
|
||||||
NSIndexPath *indexPath = [sectionIndex indexPathByAddingIndex:i];
|
NSIndexPath *indexPath = [sectionIndex indexPathByAddingIndex:i];
|
||||||
|
|||||||
@@ -15,19 +15,19 @@
|
|||||||
@protocol ASCollectionViewLayoutInspecting <NSObject>
|
@protocol ASCollectionViewLayoutInspecting <NSObject>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asks the inspector
|
* Asks the inspector to provide a constrained size range for the given supplementary node.
|
||||||
*/
|
*/
|
||||||
- (ASSizeRange)collectionView:(ASCollectionView *)collectionView constrainedSizeForSupplementaryNodeOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath;
|
- (ASSizeRange)collectionView:(ASCollectionView *)collectionView constrainedSizeForSupplementaryNodeOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asks the inspector for the number of supplementary sections in the collection view for the given kind.
|
* Asks the inspector for the number of supplementary sections in the collection view for the given kind.
|
||||||
*/
|
*/
|
||||||
- (NSUInteger)collectionView:(ASCollectionView *)collectionView numberOfSectionsForSupplementaryKind:(NSString *)kind;
|
- (NSUInteger)collectionView:(ASCollectionView *)collectionView numberOfSectionsForSupplementaryNodeOfKind:(NSString *)kind;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asks the inspector for the number of supplementary views for the given kind in the specified section.
|
* Asks the inspector for the number of supplementary views for the given kind in the specified section.
|
||||||
*/
|
*/
|
||||||
- (NSUInteger)collectionView:(ASCollectionView *)collectionView supplementaryViewsOfKind:(NSString *)kind inSection:(NSUInteger)section;
|
- (NSUInteger)collectionView:(ASCollectionView *)collectionView supplementaryNodesOfKind:(NSString *)kind inSection:(NSUInteger)section;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
@@ -39,10 +39,4 @@
|
|||||||
|
|
||||||
- (void)cacheSelectorsForCollectionView:(ASCollectionView *)collectionView;
|
- (void)cacheSelectorsForCollectionView:(ASCollectionView *)collectionView;
|
||||||
|
|
||||||
- (ASSizeRange)collectionView:(ASCollectionView *)collectionView constrainedSizeForSupplementaryNodeOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath;
|
|
||||||
|
|
||||||
- (NSUInteger)collectionView:(ASCollectionView *)collectionView numberOfSectionsForSupplementaryKind:(NSString *)kind;
|
|
||||||
|
|
||||||
- (NSUInteger)collectionView:(ASCollectionView *)collectionView supplementaryViewsOfKind:(NSString *)kind inSection:(NSUInteger)section;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (self != nil) {
|
if (self != nil) {
|
||||||
[self cacheSelectorForCollectionView:collectionView];
|
[self cacheSelectorsForCollectionView:collectionView];
|
||||||
_layout = flowLayout;
|
_layout = flowLayout;
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
return ASSizeRangeMake(CGSizeZero, constrainedSize);
|
return ASSizeRangeMake(CGSizeZero, constrainedSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSUInteger)collectionView:(ASCollectionView *)collectionView numberOfSectionsForSupplementaryKind:(NSString *)kind
|
- (NSUInteger)collectionView:(ASCollectionView *)collectionView numberOfSectionsForSupplementaryNodeOfKind:(NSString *)kind
|
||||||
{
|
{
|
||||||
if ([collectionView.asyncDataSource respondsToSelector:@selector(numberOfSectionsInCollectionView:)]) {
|
if ([collectionView.asyncDataSource respondsToSelector:@selector(numberOfSectionsInCollectionView:)]) {
|
||||||
return [collectionView.asyncDataSource numberOfSectionsInCollectionView:collectionView];
|
return [collectionView.asyncDataSource numberOfSectionsInCollectionView:collectionView];
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSUInteger)collectionView:(ASCollectionView *)collectionView supplementaryViewsOfKind:(NSString *)kind inSection:(NSUInteger)section
|
- (NSUInteger)collectionView:(ASCollectionView *)collectionView supplementaryNodesOfKind:(NSString *)kind inSection:(NSUInteger)section
|
||||||
{
|
{
|
||||||
return [self layoutHasSupplementaryViewOfKind:kind inSection:section collectionView:collectionView] ? 1 : 0;
|
return [self layoutHasSupplementaryViewOfKind:kind inSection:section collectionView:collectionView] ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -259,14 +259,14 @@
|
|||||||
XCTAssert(CGSizeEqualToSize(size.min, sizeCompare.min) && CGSizeEqualToSize(size.max, sizeCompare.max), @"should have a zero size");
|
XCTAssert(CGSizeEqualToSize(size.min, sizeCompare.min) && CGSizeEqualToSize(size.max, sizeCompare.max), @"should have a zero size");
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - #collectionView:numberOfSectionsForSupplementaryKind:
|
#pragma mark - #collectionView:numberOfSectionsForSupplementaryNodeOfKind:
|
||||||
|
|
||||||
- (void)testThatItRespondsWithTheDefaultNumberOfSections
|
- (void)testThatItRespondsWithTheDefaultNumberOfSections
|
||||||
{
|
{
|
||||||
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
|
||||||
ASCollectionView *collectionView = [[ASCollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout asyncDataFetching:NO];
|
ASCollectionView *collectionView = [[ASCollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout asyncDataFetching:NO];
|
||||||
ASCollectionViewFlowLayoutInspector *inspector = [[ASCollectionViewFlowLayoutInspector alloc] initWithCollectionView:collectionView flowLayout:layout];
|
ASCollectionViewFlowLayoutInspector *inspector = [[ASCollectionViewFlowLayoutInspector alloc] initWithCollectionView:collectionView flowLayout:layout];
|
||||||
NSUInteger sections = [inspector collectionView:collectionView numberOfSectionsForSupplementaryKind:UICollectionElementKindSectionHeader];
|
NSUInteger sections = [inspector collectionView:collectionView numberOfSectionsForSupplementaryNodeOfKind:UICollectionElementKindSectionHeader];
|
||||||
XCTAssert(sections == 1, @"should return 1 by default");
|
XCTAssert(sections == 1, @"should return 1 by default");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -277,11 +277,11 @@
|
|||||||
ASCollectionView *collectionView = [[ASCollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout asyncDataFetching:NO];
|
ASCollectionView *collectionView = [[ASCollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout asyncDataFetching:NO];
|
||||||
collectionView.asyncDataSource = dataSource;
|
collectionView.asyncDataSource = dataSource;
|
||||||
ASCollectionViewFlowLayoutInspector *inspector = [[ASCollectionViewFlowLayoutInspector alloc] initWithCollectionView:collectionView flowLayout:layout];
|
ASCollectionViewFlowLayoutInspector *inspector = [[ASCollectionViewFlowLayoutInspector alloc] initWithCollectionView:collectionView flowLayout:layout];
|
||||||
NSUInteger sections = [inspector collectionView:collectionView numberOfSectionsForSupplementaryKind:UICollectionElementKindSectionHeader];
|
NSUInteger sections = [inspector collectionView:collectionView numberOfSectionsForSupplementaryNodeOfKind:UICollectionElementKindSectionHeader];
|
||||||
XCTAssert(sections == 2, @"should return 2");
|
XCTAssert(sections == 2, @"should return 2");
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark - #collectionView:supplementaryViewsOfKind:inSection:
|
#pragma mark - #collectionView:supplementaryNodesOfKind:inSection:
|
||||||
|
|
||||||
- (void)testThatItReturnsOneWhenAValidSizeIsImplementedOnTheDelegate
|
- (void)testThatItReturnsOneWhenAValidSizeIsImplementedOnTheDelegate
|
||||||
{
|
{
|
||||||
@@ -292,7 +292,7 @@
|
|||||||
collectionView.asyncDataSource = dataSource;
|
collectionView.asyncDataSource = dataSource;
|
||||||
collectionView.asyncDelegate = delegate;
|
collectionView.asyncDelegate = delegate;
|
||||||
ASCollectionViewFlowLayoutInspector *inspector = [[ASCollectionViewFlowLayoutInspector alloc] initWithCollectionView:collectionView flowLayout:layout];
|
ASCollectionViewFlowLayoutInspector *inspector = [[ASCollectionViewFlowLayoutInspector alloc] initWithCollectionView:collectionView flowLayout:layout];
|
||||||
NSUInteger count = [inspector collectionView:collectionView supplementaryViewsOfKind:UICollectionElementKindSectionHeader inSection:0];
|
NSUInteger count = [inspector collectionView:collectionView supplementaryNodesOfKind:UICollectionElementKindSectionHeader inSection:0];
|
||||||
XCTAssert(count == 1, @"should have a header supplementary view");
|
XCTAssert(count == 1, @"should have a header supplementary view");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,7 +306,7 @@
|
|||||||
collectionView.asyncDataSource = dataSource;
|
collectionView.asyncDataSource = dataSource;
|
||||||
collectionView.asyncDelegate = delegate;
|
collectionView.asyncDelegate = delegate;
|
||||||
ASCollectionViewFlowLayoutInspector *inspector = [[ASCollectionViewFlowLayoutInspector alloc] initWithCollectionView:collectionView flowLayout:layout];
|
ASCollectionViewFlowLayoutInspector *inspector = [[ASCollectionViewFlowLayoutInspector alloc] initWithCollectionView:collectionView flowLayout:layout];
|
||||||
NSUInteger count = [inspector collectionView:collectionView supplementaryViewsOfKind:UICollectionElementKindSectionFooter inSection:0];
|
NSUInteger count = [inspector collectionView:collectionView supplementaryNodesOfKind:UICollectionElementKindSectionFooter inSection:0];
|
||||||
XCTAssert(count == 1, @"should have a footer supplementary view");
|
XCTAssert(count == 1, @"should have a footer supplementary view");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -319,7 +319,7 @@
|
|||||||
collectionView.asyncDataSource = dataSource;
|
collectionView.asyncDataSource = dataSource;
|
||||||
collectionView.asyncDelegate = delegate;
|
collectionView.asyncDelegate = delegate;
|
||||||
ASCollectionViewFlowLayoutInspector *inspector = [[ASCollectionViewFlowLayoutInspector alloc] initWithCollectionView:collectionView flowLayout:layout];
|
ASCollectionViewFlowLayoutInspector *inspector = [[ASCollectionViewFlowLayoutInspector alloc] initWithCollectionView:collectionView flowLayout:layout];
|
||||||
NSUInteger count = [inspector collectionView:collectionView supplementaryViewsOfKind:UICollectionElementKindSectionFooter inSection:0];
|
NSUInteger count = [inspector collectionView:collectionView supplementaryNodesOfKind:UICollectionElementKindSectionFooter inSection:0];
|
||||||
XCTAssert(count == 0, @"should not have a footer supplementary view");
|
XCTAssert(count == 0, @"should not have a footer supplementary view");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user