Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 按下按钮时,UIButton高亮显示颜色与文本重叠_Ios_Swift_Uibutton - Fatal编程技术网

Ios 按下按钮时,UIButton高亮显示颜色与文本重叠

Ios 按下按钮时,UIButton高亮显示颜色与文本重叠,ios,swift,uibutton,Ios,Swift,Uibutton,这是我的UIButton的正常状态: 但当我按下UIButton时,它的高光颜色应该更改为不同的颜色。以下是我所拥有的: 所以,如果你能注意到,我的白色文本与新颜色重叠。但是我应该有一个不同的高亮颜色,总是白色文本。像这样: 到目前为止,我正在做的是: 在我的xib文件中的属性检查器中,我将突出显示颜色更改为新颜色 我还在我的代码中使用了updateButton.setTitleColor(.white,表示:。突出显示),但它没有帮助 我也看了一下这个问题:但是接受的答案没有多大帮助。这个my

这是我的UIButton的正常状态:

但当我按下UIButton时,它的高光颜色应该更改为不同的颜色。以下是我所拥有的:

所以,如果你能注意到,我的白色文本与新颜色重叠。但是我应该有一个不同的高亮颜色,总是白色文本。像这样:

到目前为止,我正在做的是:

  • 在我的xib文件中的属性检查器中,我将突出显示颜色更改为新颜色
  • 我还在我的代码中使用了
    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的一个子类,我只是不够专注。