UICollectionView中item的对齐方式-右对齐

UICollectionView的item都是从左到右布局的,如果项目需求是从右到左哪该如何布局呢?我现在的项目就遇到这样一个需求,从网上搜索的答案都是:
//in viewDidLoad
    YourCollectionView.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
//in cellForItemAtIndexPath
    cell.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
这种方法是可以的,如果数据是写死的,就可以用这种方法,但是如果item的数据源是变化就出现一个问题,item显示的字体翻转了,上下左右翻转,这个就是个很大的bug,无法消除。后来的在朋友的推荐下发现github有个大神已经实现了封装,是对UICollectionViewFlowLayout的封装,方法简单。下面是github的链接:

[https://github.com/mokagio/UICollectionViewRightAlignedLayout]

import "UICollectionViewLeftAlignedLayout.h"
#import "UICollectionViewRightAlignedLayout.h"
这两个类库都是他写的,从字面意思也可以明白,一个是从左到右的布局,一个是从右到左的布局。

下面是从右到左的代码示例:

  UICollectionViewRightAlignedLayout *layout = [[UICollectionViewRightAlignedLayout alloc] init];    [layout setScrollDirection:UICollectionViewScrollDirectionVertical];
  layout.minimumLineSpacing = 3;
  layout.minimumInteritemSpacing = 3;
  _collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];

此方案不存在上述文字翻转的bug,完美实现从右到左的布局。

你可能感兴趣的:(UICollectionView中item的对齐方式-右对齐)