在IOS中单击时更改button的文本颜色

我知道这个问题经常被问及许多答案是正确的,我有我的代码,我面临一个问题。 我有单选button,当用户点击button的背景颜色和文字颜色的变化。 背景颜色如我所料地改变,但当点击button时文本颜色变成蓝色区域。 我已经编码它点击时改变白色,但当我点击button它改变文本区域为蓝色,我很困惑,我在哪里犯错误。 我的代码是,

self.selectedTitleColor = [UIColor whiteColor]; self.selectedBackgroundColor = [UIColor redColor]; self.unselectedTitleColor = [UIColor blackColor]; self.unselectedBackgroundColor = [UIColor whiteColor]; - (IBAction)House:(id)sender { [sender setSelected: ![sender isSelected]]; [self.flat setSelected:NO]; [self.lowerP setSelected:NO]; [self.upperP setSelected:NO]; [self.farmH setSelected:NO]; [self.pentH setSelected:NO]; [self.roomB setSelected:NO]; [self updateButtonColors]; 

}

 -(void)updateButtonColors { if (self.house.selected) { [self.house setTitleColor:self.selectedTitleColor forState:UIControlStateNormal]; [self.house setBackgroundColor:self.selectedBackgroundColor]; House=_house.titleLabel.text; ImageViewD = [NSString stringWithFormat:@"%@",House]; NSLog(@"HHHH %@",ImageViewD); } else { [self.house setTitleColor:self.unselectedTitleColor forState:UIControlStateNormal]; [self.house setBackgroundColor:self.unselectedBackgroundColor]; } 

}

在这里输入图像说明

将故事板中的buttontypes从系统更改为自定义

在这里输入图像说明

最好把所有的财产分配给Storyboard本身。 您可以为您的颜色拍摄两张图像,并设置为UIButtonbackgroundImage状态。

看看下面的图像相同。

[ 正常状态 ]

选定的国家

我有一个绑定button,下面的方法和它的代码:

 - (IBAction)clicked:(id)sender { UIButton *btn = (UIButton *)sender; btn.selected = !btn.selected; } 

以下是我参考的图片。

Red.png

Green.png

希望它会帮助你。