我想知道在同一个UICollectionView中有两个不同的UICollectionViewCells标识符的最简单方法是什么?我有一个UISegmentedController,我想切换到不同风格的UICollectionViewCells ..在哪里实现哪些代码。我有第一个Cell的PatternViewCell,但我如何处理另一个?请指教!
答案 0 :(得分:0)
对于具有单个数据源的单个集合视图,您可以为单个单元类注册两个集合视图单元原型。
首先,在您的故事板中,将Cell1
设置为第一个单元格原型的重用标识符,将Cell2
设置为第二个单元格原型。它们都应该有PatternViewCell
级。
然后,在更改分段控件的值时,重新加载集合视图:
- (IBAction)segmentedControlValueChanged:(id)sender {
[self.collectionView reloadData];
}
将此操作绑定到Value Changed
事件的分段控件。
然后在- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
方法中,您可以根据所选索引选择重用标识符。
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
NSString *identifier = nil;
if (self.segmentedControl.selectedSegmentIndex == 0) {
identifier = @"Cell1";
} else {
identifier = @"Cell2";
}
PatternViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:identifier forIndexPath:indexPath];
//configure cell
return cell;
}