UITableView 中的不同 UICollectionViews objective-C

Different UICollectionViews in UITableView objective-C

我的 TableView 中有 2 个自定义 UITableViewCells,它们使用的是 UICollectionView。我怎样才能像这样在不同的部分中分离用于每个 TableViewCell 的每个数据模型:

if (indexPath.section == 0) {
//Each CollectionViewCell should display Profile Picture of User
} else if (indexPath.section == 1) {
//Each CollectionViewCell should display Pictures uploaded in this group
}

我正在使用 Ash Furrow 提供的 TableViewCell:http://ashfurrow.com/blog/putting-a-uicollectionview-in-a-uitableviewcell

我想达到和这个人一样的结果:multiple UICollectionviews inside a UItabelview with sections - swift 但我有一个完全不同的代码,他是用 swift 编写的,我不知道如何使用@pbasdf

提供的解决方案来解决我的问题

编辑:这些是单元格,我希望 "Going" 单元格显示用户的个人资料图片,"Photos" 单元格显示上传到该组的图像,但两个单元格当前都在使用相同的数据模型,我不知道如何为每个单元格使用不同的数据模型(单元格按部分划分)。

table 视图或集合视图的任何实现都应该有专用模型。

干脆把模型传下去

NSArray > NSArray > 个人资料图片

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
    NSArray *list = self.lists[indexPath.row];
    [cell configureWithList:list];
    return cell;

}

@interface CustomTableViewCell () <UICollectionViewDataSource>
@property (nonatomic, weak) NSArray *list;
@property (nonatomic, weak) IBOutlet UICollectionView *collectionView;
@end

@implementation CustomTableViewCell

-(void)setList:(NSArray *)list {
    _list = list;
    [self.collectionView reloadData];
}

-(void)configureWithList:(NSArray *)list {
    self.list = list;
}

编辑:阅读本文后,我决定构建此控件 -> cocoacontrols

听起来有点棘手,但我认为无需太多工作就可以实现。

您需要告诉 table 查看您有多少个部分,并将 numberOfItemsInSection: 更改为 return 每个部分的行数(看起来只有一个,根据您的屏幕截图)。最后,我们需要扩充 AFIndexedCollectionView 集合视图子类。现在它存储一个整数索引,但我们需要修改它来存储一个索引 path。然后集合视图的 cellForItemAtIndexPath: 方法将使用该索引路径来确定集合视图所在的部分。

这有点棘手,将 UI 画在纸上并以这种方式进行推理可能有意义。祝你好运!