- (void)viewDidLoad { [super viewDidLoad];
CGFloat scale = 1.0/([UIScreen mainScreen].scale);
CGFloat space = scale;
CGFloat screenWidth = [UIScreen mainScreen].bounds.size.width;
CGFloat screenHeight= [UIScreen mainScreen].bounds.size.height;
CGFloat column = 4;//多少列 //实际屏幕宽度算的cell宽度
CGFloat orignalItemWidth = (screenWidth-(column-1)*space)/column; //根据屏幕缩放率算出cell宽度并进行调整 CGFloat resultItemwidth = floor(orignalItemWidth)+scale; if (resultItemwidth<orignalItemWidth) { resultItemwidth += scale; } //最终一行所有cell加space的实际宽度 CGFloat resultTotalWidth = resultItemwidth*column+space*(column-1); self.automaticallyAdjustsScrollViewInsets = YES; UICollectionViewFlowLayout * flowLayout = [[UICollectionViewFlowLayout alloc] init]; flowLayout.itemSize = CGSizeMake(resultItemwidth, resultItemwidth); flowLayout.minimumLineSpacing = space; flowLayout.minimumInteritemSpacing = space; _collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, resultTotalWidth, screenHeight) collectionViewLayout:flowLayout]; _collectionView.backgroundColor = [UIColor whiteColor]; [_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cell"]; _collectionView.delegate = self; _collectionView.dataSource = self; [self.view addSubview:_collectionView]; } - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return 20; } - (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath]; cell.backgroundColor = [UIColor redColor]; return cell; }