0

我有一个带有多个自定义按钮的表格视图。当我选择一个按钮时,该按钮应突出显示,如果我选择任何其他按钮,则前一个选择的按钮应自动取消突出显示,从而突出显示当前选择的按钮。我该怎么做....?

-(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 回答