Ios Swift-点击UIButton时更改文本的颜色和大小

Ios Swift-点击UIButton时更改文本的颜色和大小,ios,swift,uibutton,Ios,Swift,Uibutton,基本上,我的主屏幕上有三个按钮 当我选择其中一个按钮时,我希望所选按钮上的文本更改为粗体并更改颜色(蓝色) 当我选择其他按钮时,我希望新选择的按钮变为粗体并更改颜色(蓝色),而以前选择的按钮恢复正常。(非粗体和黑色文本) 我让这些按钮向脚本发送动作 这就是我所拥有的,我似乎无法让它发挥作用。非常感谢您的帮助 @IBAction func buttonOne(sender: UIButton){ sender.setTitleColor(UIColor.blueColor(), forSt

基本上,我的主屏幕上有三个按钮

当我选择其中一个按钮时,我希望所选按钮上的文本更改为粗体并更改颜色(蓝色)

当我选择其他按钮时,我希望新选择的按钮变为粗体并更改颜色(蓝色),而以前选择的按钮恢复正常。(非粗体和黑色文本)

我让这些按钮向脚本发送动作

这就是我所拥有的,我似乎无法让它发挥作用。非常感谢您的帮助

@IBAction func buttonOne(sender: UIButton){
    sender.setTitleColor(UIColor.blueColor(), forState: UIControlState.Highlighted)
}
我在uicontrol状态上尝试了.Highlighted和.select,两者似乎都不起作用。我也尝试了以下方法,但我无法使其起作用

@IBAction func buttonOne(sender: UIButton){
    sender.titleLabel?.textColor = UIColor.blueColor()
}
我认为,由于发送者是一个UIButton,而且是被点击的按钮,所以去掉它的值并重置它们会起作用。我相信我错过了什么


谢谢

听起来您想要
uicontrol状态。正常

所选
在大多数情况下不起任何作用,
高亮显示
仅在您按下按钮时才起作用。
请参阅此处的更多信息:

也许您可以使用转换

@IBAction func buttonPressed(sender: UIButton) {
    sender.titleLabel!.textColor = UIColor.blueColor()
    sender.transform = CGAffineTransformMakeScale(0.8, 0.8)
}

@IBAction func buttonReleased(sender: UIButton) {
    sender.titleLabel!.textColor = UIColor.redColor()
    sender.transform = CGAffineTransformIdentity
}

为所有按钮提供标签,将每个按钮操作连接到同一功能,然后尝试以下代码:

@iAction func butnClicked(发件人:UIButton){


希望会有帮助。

谢谢!它将颜色改为黑色。我的头撞到显示器上已经一个小时了,但还没弄清楚。谢谢!但接下来的问题是-当我按下新按钮时,如何让其他按钮变回黑色?(黑色?以为你想要蓝色?)将每个按钮连接为视图控制器中的IBOutlet属性,当一个按钮的IBAction被触发时,该方法内部也会根据需要更改其他按钮。可能需要一个属性来记住哪个按钮是活动按钮(例如,1-3之间的数字等)您也可以考虑使用分段控件代替3个单独的按钮。我希望激活框是蓝色的,而非活动框是黑色的。您的建议非常有用,谢谢!很快回答!因为我有三个按钮,所以我想避免为每个按钮做两个功能。e状态,我试试这个。这似乎是一个很好的解决方案。只需为3个按钮保留一个数组,并在单击函数中迭代以重置它们。然后为单击的按钮设置单击状态。
    for tg in 1...2 {
        print(sender.tag)
        let tmpButton = self.view.viewWithTag(tg) as? UIButton
        if tmpButton?.tag == sender.tag {
          tmpButton?.setTitleColor(.red, for: .normal)
        } else {
           tmpButton?.setTitleColor(.gray, for: .normal)
        }
    }