首页 > 解决方案 > 为什么我的 Swift 按钮在点击时会显示一个蓝色的小方块?

问题描述

我创建了一个可在情节提要中设计的自定义按钮,并设置了按钮选择状态的样式。现在,当我点击按钮时,蓝色方块出现在其上方。这是我的代码:

斯威夫特版本:4.0

@IBDesignable class CircularButton: UIButton {

    @IBInspectable var borderColor: UIColor = UIColor(red: 255.0, green: 153.0, blue: 0.0, alpha: 1.0)

    var borderWidth: CGFloat = 3.0

    @IBInspectable var bgColor: UIColor? {
        didSet {
            updateButton()
        }
    }
    override init(frame: CGRect) {
        super.init(frame: frame)
        setUpButton()
        self.addTarget(self, action: #selector(btnTapp), for: .touchUpInside)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    func setUpButton() {
        self.backgroundColor = self.bgColor
        let  cornerRadius = (self.frame.size.width + self.frame.size.height) / 4
        self.layer.cornerRadius = cornerRadius
    }

    @objc func btnTapp(_ sender: UIButton) {
        if isSelected == false {
            isSelected = !isSelected
        } else if isSelected == true {
            isSelected = !isSelected
        }
    }

    override var isSelected: Bool {
        didSet {
            updateState(state: isSelected)
        }
    }

    func updateState(state: Bool) {
        if state == false {
            self.layer.borderWidth = 0.0
            self.layer.borderColor = borderColor.cgColor
            print("fls")
        } else if state == true {
            self.layer.borderWidth = 3.0
            self.layer.borderColor = borderColor.cgColor
            print("tre")
        }
    }
}

这些是我在选定状态下的问题的图像: 是未选择状态

标签: iosswiftuibutton

解决方案


TylerTheCompiler 写道:

如果您的故事板中按钮的类型是“系统”,请尝试将其设置为“自定义”。

然后,原始海报写道:

所以tnx同志问题解决了

(只需将其标记为已回答,因此将来看起来不会未回答。)


推荐阅读