2012-12-20 50 views
6

我正在从事项目,它有从Web数据收集视图中显示的图像数量。CollectionView Ios 6问题

我已经实现WaterFlowLayout集合视图开源项目Github上 https://github.com/aceisScope/WaterflowView

图像被动态地分配给集合视图图像阵列..

它是工作正常,如果集合视图源具有图像数3以上。 。

但如果算上图像显示小于3比它不是在集合视图中显示.. 在示范项目,也是其发生的一样..

还有一件事我已经实现了拉刷新也,但在和几乎12图像可以显示在单个页面,如果图像数超过13集默认滚动工作正常,即时能够拉刷新,但如果图像数小于12比我无法访问拉刷新收集视图。

如果numberOfItemsInSection是3并且numberOfColumnsInFlowLayout也是3意味着它的完成 比代码的一行将工作正常。

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section 
    { 
     return 3; 
    } 

#pragma mark- UICollectionViewDatasourceFlowLayout 
    - (NSInteger)numberOfColumnsInFlowLayout:(WaterFlowLayout*)flowlayout 
    { 
     return 3; 
    } 

但如果numberOfItemsInSection是2和numberOfColumnsInFlowLayout也是3意味着它不是完​​成一个完整的一行我不能够显示图像。

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section 
    { 
     return 2; 
    } 

#pragma mark- UICollectionViewDatasourceFlowLayout 
    - (NSInteger)numberOfColumnsInFlowLayout:(WaterFlowLayout*)flowlayout 
    { 
     return 3; 
    } 

和任何人都可以也提出一些技巧,使拉刷新即使整理观点默认滚动不活跃..

在此先感谢...

+1

如果您numberOfColumns返回2会发生什么事的数项目是2?它显示吗? – rdelmar

+0

是显示比。 – p1nt0z

回答

4

你可能会考虑跳过WaterFlowLayout仓库,只是使用UICollectionView代替:

  1. 要开始使用UICollectionView,由Bryan看看this excellent tutorial汉森。它会让你熟悉UICollectionView。

  2. 如果您使用UICollectionView,你可以在你UICollectionViewController的加拉来刷新控制,只需几行代码viewDidLoad方法:

    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; 
    [refreshControl addTarget:self action:@selector(startRefresh:) forControlEvents:UIControlEventValueChanged]; 
    [self.collectionView addSubview:refreshControl]; 
    
  3. 要实现Pinterest-瀑布式的布局,您可以使用此UICollectionViewLayout GitHub的仓库,或任意数量的是在那里的其他存储库:https://github.com/jayslu/JSPintDemo

+0

但在我的图片计数小于12意味着可能图像是在单个整理视图页面比我不能够滚动..如果滚动是禁用比我不能使用拉刷新。所以任何方法总是允许排序视图滚动启用,即使它的项目数量较少。 – p1nt0z