3

我一直在阅读和查看应用程序示例,但仍然不确定如何实现一个通过分页推送到详细视图的集合视图?

我可以让集合视图推送到静态详细信息视图(不幸的是没有标题),并且我可以在没有集合视图的情况下进行分页,但不能同时使用!?我还需要考虑一个标题,这是一个重要的部分。

请有人帮我解决这个问题,因为我可能很快就会发疯:)

提前谢谢了!

4

1 回答 1

2

只需将另一个具有流布局、水平滚动方向、启用paging属性并将itemSize布局的属性设置为全屏的集合视图控制器即可。在将此控制器的设置内容偏移量推送到所选图像上之前。试试下面的代码。您应该调用initWithCollectionViewLayout来初始化您的集合视图。

-(id)initWithCollectionViewLayout:(UICollectionViewLayout *)layout {
if (self = [super initWithCollectionViewLayout:layout]) {
    [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"Cell"];
    UICollectionViewFlowLayout *layout = (UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout;
    layout.itemSize = self.collectionView.bounds.size;
    layout.minimumLineSpacing = 0;
    layout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
    self.collectionView.pagingEnabled = YES;

    // In order to see cells you can declare something like colors array in .h
    self.colors = @[[UIColor redColor], [UIColor greenColor], [UIColor blueColor]];
}
return self;
}

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

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

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

    [cell.contentView setBackgroundColor:self.colors[indexPath.item]];

    return cell;
}

PS 设置内容偏移使用[self.collectionView setContentOffset:CGPointMake(40, 0)];

于 2013-04-10T19:49:20.650 回答