同一个ViewController中的多个UICollectionView

use*_*649 4 ios uicollectionview uicollectionviewlayout

我使用自定义UICollectionView布局有不同大小的单元格,我无法在此部分.

UICollectionView在同一个地方使用多个s 是个好主意UIViewController吗?有什么建议吗?

Xei*_*han 7

这很简单

对于每个UICollectionView代理

- (NSUInteger)maximumNumberOfColumnsForCollectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout

- (CGFloat)collectionView:(UICollectionView*)collectionView layout:(UICollectionViewLayout*)collectionViewLayout
heightForItemAtIndexPath:(NSIndexPath*)indexPath

- (UICollectionViewCell*)collectionView:(UICollectionView*)collectionView
 cellForItemAtIndexPath:(NSIndexPath*)indexPath
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
- (NSInteger)collectionView:(UICollectionView*)collectionView numberOfItemsInSection:(NSInteger)section`
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView*)collectionView`
Run Code Online (Sandbox Code Playgroud)

在里面写条件:

    if (collectionView == myCollectionView1)
    {
    // do this 
    }
    else if (collectionView == myCollectionView2)
    {
    // do this 
    }
Run Code Online (Sandbox Code Playgroud)

比如说吧

- (NSInteger)collectionView:(UICollectionView*)collectionView numberOfItemsInSection:(NSInteger)section 
{
    if (collectionView == myCollectionView1)
    {
     return 12;
    }
    else if (collectionView == myCollectionView2)
    {
     return 7; 
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)