0

複数のカスタムボタンを含むテーブルビューがあります.1つのボタンを選択すると、そのボタンが強調表示され、他のボタンを選択すると、前に選択したボタンが自動的に強調表示されなくなり、現在選択されているボタンが強調表示されます。どうすればいいですか....?

-(IBAction)buttonPressed:(UIButton *)sender {

 tempBtn.selected = NO;
    if (tempBtn != sender){
       tempBtn = sender;
        tempBtn.selected =YES;
       [ tempBtn setBackgroundColor:[UIColor redColor]];
    }
    else{
        tempBtn = nil;
    }
}

私はこれを行っていますが、ここでクリックしたすべてのボタンが赤に変更され、以前の選択色 (赤) が削除されません..どうすればよいですか?

4

1 に答える 1

1

すでに赤の場合は赤くなりますが、ボタンがすでに赤の場合は別の色/クリアに移動したいと言っていますか? 複数の行を選択しているかのように?

tempBtn.selected = !tempBtn.selected;
if(tempBtn.selected)
{
   tempBtn.backgroundcolor = [UIColor redColor];
}
else
{
   tempBtn.backgroundcolor = [UIColor clearColor];
}

編集:わずかな質問の変更により

ボタンを押すと:

-(void)buttonPress:(id)sender
{
  //Change Color to Red
   if([myMutableArray count] > 0
    {
      UIButton* button = (UIButton *)[self.view viewWithTag:[myMutableArray objectAtIndex:0];
       button.setBackgroundColor = [UIColor clearColor];
       [myMutableArray removeAllObjects];
    }
    [myMutableArray addObject:[sender tag]];
}
于 2012-10-19T09:25:57.727 に答える