Rob*_*arr 9 uiviewcontroller ios uicollectionview
最终结果是在一个视图控制器上有2个集合视图.从不同的来源拉动以及一个应该水平滚动而另一个垂直滚动.
请告知如何以编程方式实现此目的.
Sti*_*Sti 24
我之前没有使用UICollectionView过,但是因为它继承自UIScrollView,我抓住的机会与它非常相似UITableView.
当使用一个的CollectionView,我假设你必须设置collectionView.delegate = self;和collectionView.dataSource = self,并在.h-file,请确保您的类使用<UICollectionViewDelegate, UICollectionViewDataSource>或类似的东西.当您将collectionView的委托设置为您自己的视图(self)时,您确保为delegView提供的数据来自您自己的类,在delegate-methods中.我相信你已经知道了,因为单一的collectionView应该非常简单.
当您使用两个collectionViews时,您必须设置
collection1.delegate = self;
collection2.delegate = self;
collection1.dataSource = self;
collection2.dataSource = self;
Run Code Online (Sandbox Code Playgroud)
这将反过来使两个collectionViews都将调用委托方法.例如,委托方法-collectionView:cellForItemAtIndexPath:将被调用两次.一次为collection1,一次为collection2.
为了确保它们能够获得发送给它们的正确数据,您应该在每个委托和dataSource方法的开头创建一个简单的检查,如下所示:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
if(collectionView == collection1)
{
//return cell for collection1
}
else
{
//return cell for collection2
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,我正在检查是否collectionView等于collection1或collection2.委托方法提供的collectionView是它调用方法的UICollectionView,它必须是两者之一.如果你已经调用了一个collectionViews,这看起来很可疑collectionView,所以一定要在逻辑上命名它们.
| 归档时间: |
|
| 查看次数: |
7265 次 |
| 最近记录: |