Ios 按下按钮时,UIButton高亮显示颜色与文本重叠
这是我的UIButton的正常状态: 但当我按下UIButton时,它的高光颜色应该更改为不同的颜色。以下是我所拥有的: 所以,如果你能注意到,我的白色文本与新颜色重叠。但是我应该有一个不同的高亮颜色,总是白色文本。像这样: 到目前为止,我正在做的是:Ios 按下按钮时,UIButton高亮显示颜色与文本重叠,ios,swift,uibutton,Ios,Swift,Uibutton,这是我的UIButton的正常状态: 但当我按下UIButton时,它的高光颜色应该更改为不同的颜色。以下是我所拥有的: 所以,如果你能注意到,我的白色文本与新颜色重叠。但是我应该有一个不同的高亮颜色,总是白色文本。像这样: 到目前为止,我正在做的是: 在我的xib文件中的属性检查器中,我将突出显示颜色更改为新颜色 我还在我的代码中使用了updateButton.setTitleColor(.white,表示:。突出显示),但它没有帮助 我也看了一下这个问题:但是接受的答案没有多大帮助。这个my
updateButton.setTitleColor(.white,表示:。突出显示)
,但它没有帮助我也看了一下这个问题:但是接受的答案没有多大帮助。这个
myButton.setTitleColor(.white,代表:.normal)
在突出显示时不会更改标题颜色,它是用于正常状态的。如果要在突出显示按钮时更改textColor,则需要使用myButton.setTitleColor(.white,代表:。突出显示)
同样,当您在情节提要中更改状态配置时
您可以设置文本颜色
如果它是一个自定义按钮,您可以覆盖isHighlighted方法并执行所需的操作
class MyButton : UIButton {
override var isHighlighted: Bool{
didSet {
tintColor = isHighlighted ? UIColor.red : UIColor.white
backgroundColor = UIColor.blue
.....
// do what you need
}
}
类似于myButton.setTitleColor(.white,代表:.normal)请尝试为.highlighted状态设置标题颜色。那应该对你有用 你可以参考:
由于您的按钮是UIView
类CellButton:UIView{}
的子类,因此您需要在自定义CellButton中处理触摸开始和结束事件,并处理视图的外观。如果它是UIButton的子类,那么它会自动为您处理:)
您也可以尝试使用手势,有关更多信息,请参阅:Hi,@Omer Tekbiyik,谢谢您的评论。我计划现在更新我的问题,因为
myButton.setTitleColor(.white,for:.highlighted)
也没有帮助。这个按钮是自定义按钮吗@Lilyaya是的,是海关。你能分享一下你是如何申报按钮的吗@丽丽:对不起!我没有专心。我的按钮继承了一个自定义类,该类继承了UIButton,所以我现在要检查您的解决方案。非常感谢。你好,谢谢你的评论。这正是我正在做的。我已经更新了我的问题。谢谢@Shan!它实际上是UIButton的一个子类,我只是不够专注。