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 画在纸上并以这种方式进行推理可能有意义。祝你好运!
我的 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 画在纸上并以这种方式进行推理可能有意义。祝你好运!