Prova a usare un piccolo trucco:
Basta impostare l'alfa della cella. Metti alcune condizioni come requisiti personali e imposta l'alfa.
cell.alpha=0.2;
Se non funziona, come vuoi che sia allora, usa il secondo trucco,
Basta scattare un'immagine della dimensione della cella con uno sfondo grigio con sfondo trasparente, basta aggiungere quell'immagine nell'immagine sopra il contenuto della cella. Come questo:
// 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;
}
Anche se non sono sicuro del modo in cui, ma questo soddisferà sicuramente le tue esigenze, questo darà una sorta di illusione nella mente dell'utente che la cella è Disabilita. Prova a usare questa soluzione, spero che risolva il tuo problema.
cell.userInteractionEnabled = cell.textLabel.enabled = cell.detailTextLabel.enabled = NO;