每次按下自定义按钮时如何设置标准按钮反应?

问题描述 投票:0回答:1

我创建了一个自定义按钮,我希望它的背景每次每次被按下时(在应用程序中的任何位置)都会稍有变化。

我知道如何使用#selector(self.cardPressed(sender:)), for: .touchDown在每个视图控制器中执行此操作,但是我希望能够在CustomButton类中进行设置,因此无需再次调用它。

[我尝试在CustomButton类上使用didSet,但我只能覆盖isHighlighted,却无法弄清楚如何覆盖看起来像isNoLongerHighlighted的变量。]​​>

override var isHighlighted: Bool {
    didSet {
        backgroundColor = .red
    }
}

我创建了一个自定义按钮,我希望它的背景每次每次被按下时(在应用程序中的任何位置)都会稍有变化。我知道如何在每个视图控制器中使用#selector(...] >>

Swift 5.2

import UIKit

class CustomButton: UIButton {

    override func awakeFromNib() {
        super.awakeFromNib()
        // Set the unselected background color
        backgroundColor = .red
    }

    override var isHighlighted: Bool {
        didSet {
            backgroundColor = isHighlighted ? .green : .red
        } 
    }
}

enter image description here

swift uibutton
1个回答
0
投票

Swift 5.2

© www.soinside.com 2019 - 2024. All rights reserved.