-1

選択時にセルに画像を追加し、新しいセルが選択された場合に画像を選択したセルに変更するテーブルビューがあります

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
      {

          cell = [self.tableView cellForRowAtIndexPath:indexPath];

            cell.imageView.image=[UIImage imageNamed:@"Activity.png"]; 

        }


  - (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {


       [self.tableView deselectRowAtIndexPath:indexPath animated:YES];

       cell = [self.tableView cellForRowAtIndexPath:indexPath];


       cell.imageView.image=[UIImage imageNamed:@"Activity2.png"]; 
        NSUInteger row = indexPath.row;

  }

ここに私が私の意見で与えたコードがあります

        if (indexPath.row==0) {

       cell.imageView.image=[UIImage imageNamed:@"Activity2.png"]; 
       NSLog(@"Cell Clicked row  0");


       if(indexPath.row==1){


        NSLog(@"Cell Clicked row 1 in 0");

        cell.imageView.image=[UIImage imageNamed:@"Catalog"];

      }

      }
    if (indexPath.row==1) {

    cell.imageView.image=[UIImage imageNamed:@"Catalog2.png"]; 
    NSLog(@"Cell Clicked row  1");


    if(indexPath.row==0){


        NSLog(@"Cell Clicked row 0 in 1");


        cell.imageView.image=[UIImage imageNamed:@"Activity"];

    }


}

新しいセルが選択されたときにセルに画像を表示する方法を示す新しいコードが追加されました。

4

3 に答える 3

6
[tableView deselectRowAtIndexPath:[tableView indexPathForSelectedRow] animated:YES];

これを使えばうまくいく

于 2013-07-04T05:26:06.153 に答える
1

他のすべての TableViewCells をループしてイメージを設定する必要があります。これを試してください。

- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    [aTableView deselectRowAtIndexPath:indexPath animated:YES];

    NSUInteger row = indexPath.row;
    for (int i=0; i<=4; i++) {
        UITableViewCell *cell = [aTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:indexPath.section]];

        cell.imageView.image=nil;
    }
    UITableViewCell *cell = [aTableView cellForRowAtIndexPath:indexPath];
    cell.imageView.image=[UIImage imageNamed:@"Default.png"];

}
于 2013-07-04T05:20:03.863 に答える
0

デリゲート、データソースを自分自身に設定し、iphone と iPad の両方で次のコードを使用しました

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    cell.imageView.image = [UIImage imageNamed:@"imgres.jpeg"];

}
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    cell.imageView.image = [UIImage imageNamed:@"images.jpg"];

}
于 2013-07-04T06:11:59.643 に答える