UICollectionView 单元格与屏幕对齐?

UICollectionView cell is aligned off the screen?

由于我一直在使用 UITableView,所以我对使用 UICollectionView 很陌生,所以在此先表示歉意。

无论如何,我有一些简单的代码,但由于某些我还不熟悉的原因,一些单元格被放置在屏幕之外,而不是被移到下一层。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    array = [ [NSMutableArray alloc] initWithObjects:@"Apple", @"Is", @"The", @"Bomb", @".com", @":D", nil];
}

- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
{
    return 5.0;
}

- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return 1;
}

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return array.count;
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];

    UILabel *label = (UILabel *)[cell viewWithTag:100];

    label.text = [array objectAtIndex:indexPath.row];

    [cell.layer setBorderWidth:2.0f];
    [cell.layer setBorderColor:[UIColor whiteColor].CGColor];

    [cell.layer setCornerRadius:10.f];

    return cell;
}

带有 "Bomb" 和“.com”的单元格发生了什么变化?为什么会截屏?

您需要在集合视图上设置视图约束。查看 Autolayout 编程以设置 UICollectionView 的约束。