0

UITableViewの1つのセルにON/OFF動作をさせることは可能ですか?基本的に、セルをクリックすると緑色になります。これが私が望むものです。別のviewControllerなどには移動しません。しかし、同じセルをもう一度クリックすると、同じビューで、緑が消えて、前の色の状態に戻るようにします。

これが私のdidSelectRowAtIndexPathの方法です

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSString *selectedPhrase = [dataTable objectAtIndex:indexPath.row];
    [self setCurrentPhrase:selectedPhrase];
}

これは簡単な質問のようです。ドロップインできることはわかっています[tableView deselectRowAtIndexPath:indexPath animated:YES];が、クリックするとすぐにハイライトが解除されます。

ありがとう!

アーロン

4

1 に答える 1

1

選択時に背景色を変更できるので、背景UITableViewCellを塗りつぶすもの(緑または単にクリアカラー)を指示するBOOLを使用できます。

以下の方法でセルにアクセスします

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath

以下を参照コードとして使用してください。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSString *selectedPhrase = [dataTable objectAtIndex:indexPath.row];
    [self setCurrentPhrase:selectedPhrase];

      MyCutsomCell* myCell= (MyCutsomCell*)[tableView cellForRowAtIndexPath:indexPath];
      if(myCell.isGreen)
      {
         //Change backgroundColor to Green
      }
      else
      {
         //Clear backgroundColor
      }

      myCell.isGreen = !myCell.isGreen;
}
于 2011-04-29T03:46:24.920 に答える