0

我正在创建一个座位图,已经预订的座位很少,其他的可以,所以,我需要用不同的颜色显示已经预订的座位和可用的座位。下面是我用来显示选中和取消选中的单元格的代码,但是如何让显示已经预订的单元格已经被选中。

- (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];

我有一个数组,可以将所有座位的状态保持为开或关,但没有得到如何实现它。请指导以上。提前致谢。

4

1 回答 1

1

检查此链接以突出显示单元格

http://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/CollectionViewPGforIOS/CreatingCellsandViews/CreatingCellsandViews.html

或者这样做为单元格创建一个标签或图像视图,并检查相应的元素是否与您的数组元素匹配,然后检查它们的状态,如果它匹配则放置一些图像或在该项目上分配颜色,如果它不匹配则离开它空的。

如果它不起作用,请让我帮助你

于 2013-06-01T06:25:08.003 回答