Попробуйте использовать маленький трюк:
Просто установите альфа-ячейку. Поместите какое-нибудь условие как ваши собственные требования и установите альфа.
cell.alpha=0.2;
Если это не сработает, то как вы хотите, используйте второй трюк,
Просто возьмите изображение размера ячейки с серым фоном с прозрачным фоном, просто добавьте это изображение в изображение поверх содержимого ячейки.
Как это:
// 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;
}
Хотя я не уверен в том, как это сделать, но это наверняка удовлетворит ваше требование. Это создаст иллюзию, что ячейка отключена.
Просто попробуйте использовать это решение. Надеюсь, что это решит вашу проблему.