我有一个带有多个自定义按钮的tableview。当我选择一个按钮时,该按钮应该突出显示,如果我选择任何其他按钮,则前一个所选按钮应自动取消高亮,从而突出显示当前所选按钮。我怎么能这样做??
-(IBAction)buttonPressed:(UIButton *)sender {
tempBtn.selected = NO;
if (tempBtn != sender){
tempBtn = sender;
tempBtn.selected =YES;
[ tempBtn setBackgroundColor:[UIColor redColor]];
}
else{
tempBtn = nil;
}
}
我这样做但是这里我点击的所有按钮都变为红色而没有删除prevoius选择颜色(红色)..我该怎么办?
答案 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]];
}