我正在创建一个座位图,已经预订的座位很少而其他人可以,所以,我需要以不同颜色显示已预订的座位和可用座位。下面是我用于显示选定和取消选择的单元格的代码,但是如何使已经预订的单元格已经被选中。
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
UICollectionViewCell *cell = [self.collectionView dequeueReusableCellWithReuseIdentifier:@"Cell" forIndexPath:indexPath];
NSLog(@"indexpath row:%d", indexPath.row);
int v;
NSString *cnt = [NSString stringWithFormat:@"%@",[arrSeats objectAtIndex:indexPath.section]];
v = [cnt intValue];
if(indexPath.item < v)
{
if(cell.selected){
cell.contentView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"yelow_seat.png"]]; // highlight selection
}
else
{
cell.contentView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blue_seat.png"]]; // Default color
}
}else{
cell.contentView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"blank_seat.png"]];
}
return cell;
}
以下是我尝试用于为每个部分添加值的代码。每次数组为一个部分添加值时,它会将其添加到字典中,然后清除数组,下次数组为下一部分添加值时再次放入字典,但是当数组对象被删除时,字典不会保留该值。
arrStatus = arrSeatsStatus;
[seatsDict setObject:arrStatus forKey:[NSString stringWithFormat:@"%d",i]];
i++;
[arrSeatsStatus removeAllObjects];
我有一个数组,可以将所有座位的状态保持为开启或关闭,但是如何实现它并没有得到。请指导以上。 提前谢谢。
答案 0 :(得分:1)
检查此链接以查看单元格突出显示
或做一个为单元格创建标签或imageview,并检查相应的元素是否与您的数组元素匹配,然后检查它们的状态,如果匹配则放置一些图像或为该项目指定颜色匹配留空。
如果不能正常工作请告诉我,我会帮助你