UICollectionViewLeftAlignedLayout是第三方的左對齊佈局管理類,其繼承自UICollectionViewFlowLayout,使用其能夠方便的進行左對齊的瀑布流界面佈局。git
UICollectionViewLeftAlignedLayout的git地址以下:https://github.com/mokagio/UICollectionViewLeftAlignedLayout。github
使用示例以下:dom
#import <UICollectionViewLeftAlignedLayout.h> @interface ViewController ()<UICollectionViewDataSource,UICollectionViewDelegateFlowLayout> @property(nonatomic,strong)UICollectionView * collectionView; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UICollectionViewLeftAlignedLayout* layout = [[UICollectionViewLeftAlignedLayout alloc]init]; self.collectionView = [[UICollectionView alloc]initWithFrame:self.view.frame collectionViewLayout:layout]; self.collectionView.dataSource = self; self.collectionView.delegate=self; [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cellID"]; [self.view addSubview:self.collectionView]; } -(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{ return CGSizeMake(arc4random()%100+50, 100); } -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{ return 1; } -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ return 10; } -(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellID" forIndexPath:indexPath]; cell.backgroundColor = [UIColor colorWithRed:arc4random()%255/255.0 green:arc4random()%255/255.0 blue:arc4random()%255/255.0 alpha:1]; return cell; } @end
效果以下:佈局
專一技術,熱愛生活,交流技術,也作朋友。atom
——琿少 QQ羣:203317592spa