UICollectionViewFlowLayout子类不起作用

索雷尔

这是我的UICollectionViewFlowLayout子类:

@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

当我执行以下操作时,收藏夹视图将不会滚动:

MyCollectionViewFlowLayout* flowLayout = [[MyCollectionViewFlowLayout alloc] init];

但是,如果我这样做:

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子类中做错了什么?

胡同

问题是collectionViewContentSize

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

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

- (CGSize)collectionViewContentSize {
    [super collectionViewContentSize];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

UICollectionViewFlowLayout minimumInteritemSpacing不起作用

自定义 UICollectionViewFlowLayout 不起作用

GestureRecognizer的子类不起作用

Android的OnClickListener子类不起作用

类型转换PFObject子类不起作用

Fl_Window子类不起作用

初始化子类不起作用

React:传递给子类的道具不起作用

子类化UIButton并覆盖触摸事件-不起作用

子类化MKAnnotation原因集集合不起作用

UIView子类中的UIButton不起作用,Swift

为什么注射在子类中不起作用?

子类化 UIView 时,Swift 过渡动画不起作用

数组中的多态子类对象方法不起作用

NSManagedObject子类的Xcode 9.3自动完成功能不起作用?

WordPress自定义查询:使用多种帖子类型时,“ orderby” =>“日期”不起作用

为什么instanceof在babel-node下的Error子类的实例上不起作用?

MFC:RadioButton在从CWnd子类化的类中不起作用(显示为灰色)

PHPUnit:dataProvider在PHPUnit_Framework_TestCase的子类中不起作用

自定义帖子类型-类别添加按钮不起作用

为什么通过存在性和约束子类型化不起作用?

单个自定义帖子类型模板(WordPress使用Timber / Twig)不起作用

WordPress自定义帖子类型存档页面wp_query分页不起作用

swift2打印在NSView子类中不起作用

Wordpress:功能自定义帖子类型delete_post不起作用

向下转换为子类的问题,多态性不起作用

通过两个子类扩展 Daemon 类不起作用

setBackgroundColor不起作用

`bindingRedirect` 不起作用