效果如上:尺码/颜色分类中各只能选择一种,当在各组中,选中组中的一个时,组中其他的要恢复原色
实现思想:可以在各组的数据中添加一个属性,来标记该item是否选中的状态,即重新重建各数据模型,把获得的数据和标记状态的属性一并添加新数据模型中,从而根据标记的属性来判断是否是选中状态,进而来处理各种展示
关键代码:
NSArray *firstArr = @[@"联基",@"Delippo",@"德艺(DYEI)",@"英特曼",@"鑫意达",@"博扬"];
NSArray *secondArr = @[@"0-59",@"60-199",@"200-399",@"400-799",@"800-2199",@"2200-"];
//创建新数据数组 添加标记状态的子段selectIS
NSMutableArray *firmuArr = [NSMutableArray array];
for (NSString *str in firstArr) {
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setValue:str forKey:@"name"];
[dict setValue:@0 forKey:@"selectIS"];
[firmuArr addObject:dict];
}
NSMutableArray *secmuArr = [NSMutableArray array];
for (NSString *str in secondArr) {
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setValue:str forKey:@"name"];
[dict setValue:@0 forKey:@"selectIS"];
[secmuArr addObject:dict];
}
BMSelectCollectionView *selectCollectionView = [[BMSelectCollectionView alloc] init];
//传值
详细demo地址: