首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UICollectionViewFlowLayout子类不工作

UICollectionViewFlowLayout子类不工作
EN

Stack Overflow用户
提问于 2014-04-12 19:17:09
回答 1查看 928关注 0票数 0

下面是我的UICollectionViewFlowLayout子类:

代码语言:javascript
复制
@implementation MyCollectionViewFlowLayout

- (id)init
{
    self = [super init];
    if (self) {
        [self setup];
    }

    return self;
}

- (void)setup
{
    self.itemSize = CGSizeMake(320, 320);
    self.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
    self.minimumInteritemSpacing = 0;
    self.minimumLineSpacing = 0;
    self.scrollDirection = UICollectionViewScrollDirectionVertical;
}


- (void)prepareLayout {
    [super prepareLayout];

}

- (CGSize)collectionViewContentSize {
    return self.itemSize;
}

- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect {
    NSArray* allAttributesInRect = [super layoutAttributesForElementsInRect:rect];

    return allAttributesInRect;
}


- (UICollectionViewLayoutAttributes*)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath {
    UICollectionViewLayoutAttributes* attributes = [super layoutAttributesForItemAtIndexPath:indexPath];

    return attributes;
}

@end

当我执行以下操作时,集合视图将不会滚动:

代码语言:javascript
复制
MyCollectionViewFlowLayout* flowLayout = [[MyCollectionViewFlowLayout alloc] init];

然而,如果我这样做:

代码语言:javascript
复制
UICollectionViewFlowLayout* flowLayout = [[UICollectionViewFlowLayout alloc] init];
flowLayout.itemSize = CGSizeMake(320, 320);
flowLayout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
flowLayout.minimumInteritemSpacing = 0;
flowLayout.minimumLineSpacing = 0;
flowLayout.scrollDirection = UICollectionViewScrollDirectionVertical;

然后,集合视图滚动良好。我在UICollectionViewFlowLayout子类中做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-12 19:21:51

问题是collectionViewContentSize

代码语言:javascript
复制
- (CGSize)collectionViewContentSize {
    return self.itemSize;
}

在这里返回itemSize意味着集合视图的整个contentSize仅为一个项的大小。尝试删除该代码,或将其更改为

代码语言:javascript
复制
- (CGSize)collectionViewContentSize {
    [super collectionViewContentSize];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23034971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档