セルが選択されている場合、このセルの背景画像ビューを変更してから、他のセルの背景画像ビューを通常にします。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell* cell=[tableView cellForRowAtIndexPath:indexPath];
cell.backgroundView=[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pictogram_selected.png"]] autorelease];
cell.selected=YES;
selectedIndex=indexPath.row;
for(UITableViewCell* theCell in [tableView visibleCells]){
if(![theCell isEqual:cell])
{
theCell.accessoryType=UITableViewCellAccessoryNone;
theCell.selected=NO;
[theCell.backgroundView removeFromSuperview];
}
}
}
selectedIndex
tableview の selectedindex を保存した数値です。選択状態を tableview に保存したい場合は、 selectedIndex を使ってセルを選択状態にします。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
ITableViewCell* cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
cell.selectionStyle=UITableViewCellSelectionStyleNone;
//your code here
if(indexPath.row == selectedIndex)
{
cell.backgroundView=[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"pictogram_selected.png"]] autorelease];
cell.selected=YES;
}
//your code here
return cell;
}