在iPhone的UItableview中自动取消选择之前选择的按钮

时间:2012-10-17 11:35:54

标签: xcode uitableview uibutton

我有一个带有多个自定义按钮的tableview。当我选择一个按钮时,该按钮应该突出显示,如果我选择任何其他按钮,则前一个所选按钮应自动取消高亮,从而突出显示当前所选按钮。我怎么能这样做??

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

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

我这样做但是这里我点击的所有按钮都变为红色而没有删除prevoius选择颜色(红色)..我该怎么办?

1 个答案:

答案 0 :(得分: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]];
}