mirror of
https://github.com/Instagram/IGListKit
synced 2026-05-20 15:58:28 +00:00
Summary: The content inset of a collection view can change at any time (as it does with our refresh control) and isn't a good measure of the container size. I don't want to totally remove that API though, so I changed the default behavior, added an insets API, and also added the functionality of the original in a new API. This makes sizes much more deterministic. Reviewed By: jessesquires Differential Revision: D4800758 fbshipit-source-id: 85ce843b5b1c297cea2e2ea705fa255617cbe356
64 lines
2.1 KiB
Objective-C
64 lines
2.1 KiB
Objective-C
/**
|
|
Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
|
|
|
|
The examples provided by Facebook are for non-commercial testing and evaluation
|
|
purposes only. Facebook reserves all rights not expressly granted.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
*/
|
|
|
|
#import "ImageSectionController.h"
|
|
#import "PhotoCell.h"
|
|
|
|
@interface ImageSectionController () <IGListSupplementaryViewSource>
|
|
|
|
@end
|
|
|
|
@implementation ImageSectionController
|
|
|
|
#pragma mark - IGListSectionType
|
|
|
|
- (NSInteger)numberOfItems {
|
|
return 1;
|
|
}
|
|
|
|
- (CGSize)sizeForItemAtIndex:(NSInteger)index {
|
|
return CGSizeMake(self.collectionContext.containerSize.width, self.collectionContext.containerSize.width);
|
|
}
|
|
|
|
- (UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index {
|
|
PhotoCell *cell = [self.collectionContext dequeueReusableCellOfClass:[PhotoCell class] forSectionController:self atIndex:index];
|
|
return cell;
|
|
}
|
|
|
|
- (void)didUpdateToObject:(id)object {
|
|
}
|
|
|
|
- (void)didSelectItemAtIndex:(NSInteger)index {
|
|
|
|
}
|
|
|
|
- (id<IGListSupplementaryViewSource>)supplementaryViewSource {
|
|
return self;
|
|
}
|
|
|
|
- (NSArray<NSString *> *)supportedElementKinds {
|
|
return @[UICollectionElementKindSectionFooter];
|
|
}
|
|
|
|
- (CGSize)sizeForSupplementaryViewOfKind:(NSString *)elementKind atIndex:(NSInteger)index {
|
|
return CGSizeMake(self.collectionContext.containerSize.width, 30);
|
|
}
|
|
|
|
- (UICollectionReusableView *)viewForSupplementaryElementOfKind:(NSString *)elementKind atIndex:(NSInteger)index {
|
|
UICollectionReusableView *view = [self.collectionContext dequeueReusableSupplementaryViewOfKind:elementKind forSectionController:self class:[UICollectionReusableView class] atIndex:index];
|
|
view.backgroundColor = [UIColor yellowColor];
|
|
return view;
|
|
}
|
|
|
|
@end
|