Intente usar un pequeño truco:
Simplemente configure el alfa de la celda. Pon alguna condición como tus propios requisitos y establece el alfa.
cell.alpha=0.2;
Si no funciona, como te gustaría, usa el segundo truco,
Simplemente tome una imagen del tamaño de la celda con un fondo gris con fondo transparente, solo agregue esa imagen en la imagen sobre el contenido de la celda. Me gusta esto:
// 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;
}
Aunque no estoy seguro de la forma, esto seguramente cumplirá con su requisito. Esto dará una especie de ilusión en la mente del usuario de que la celda está Desactivada. Intente usar esta solución. Espero que eso resuelva su problema.
cell.userInteractionEnabled = cell.textLabel.enabled = cell.detailTextLabel.enabled = NO;