Spróbuj użyć małej sztuczki:
Po prostu ustaw alfa komórki. Ustaw jakiś warunek jako własne wymagania i ustaw alfa.
cell.alpha=0.2;
Jeśli to nie zadziała, tak jak lubisz, użyj drugiej sztuczki,
Po prostu zrób zdjęcie rozmiaru komórki z szarym tłem z przezroczystym tłem, po prostu dodaj ten obraz na obrazie nad zawartością komórki. Lubię to:
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell...
if(indexPath.row==0)
{
cell.userInteractionEnabled=FALSE;
UIImageView *img=[[UIImageView alloc]init];
img.frame=CGRectMake(0, 0, 320, 70);
img.image=[UIImage imageNamed:@"DisableImage.png"];
img.backgroundColor=[UIColor clearColor];
[cell.contentView addSubview:img];
[img release];
}
else {
//Your usual code for cell interaction.
}
return cell;
}
Wprawdzie nie jestem pewien sposobu, ale to z pewnością spełni Twoje wymagania, co da użytkownikowi wrażenie, że komórka jest wyłączona. Po prostu spróbuj skorzystać z tego rozwiązania i mam nadzieję, że rozwiąże Twój problem.
cell.userInteractionEnabled = cell.textLabel.enabled = cell.detailTextLabel.enabled = NO;