为啥我的 Swift 按钮在点击时会显示一个蓝色的小方块?

Posted

技术标签:

【中文标题】为啥我的 Swift 按钮在点击时会显示一个蓝色的小方块?【英文标题】:Why does my Swift button show a small blue square when tapped?为什么我的 Swift 按钮在点击时会显示一个蓝色的小方块? 【发布时间】:2019-10-26 13:00:29 【问题描述】:

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

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")
        
    

这些是我的问题in selected state 的图像: is unselect state

【问题讨论】:

我不明白 - 我在做什么? 对不起,我忘了删除更新按钮——这个方法没有特别的作用。 如果您的按钮类型在情节提要中为“系统”,请尝试将其设置为“自定义”。 @TylerTheCompiler - 所以 tnx 同志问题解决了 【参考方案1】:

TylerTheCompiler 写道:

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

然后,原海报写道:

所以tnx同志问题解决了

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

【讨论】:

以上是关于为啥我的 Swift 按钮在点击时会显示一个蓝色的小方块?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的solidworks打开工程图时会这样的?显示不出。

为啥点击路线时会修改道具?

为啥 Swift 3 不能识别我的按钮点击?

为啥我的 vaadin 按钮显示不正确?

为啥按钮在点击时改变位置?

为啥在移动设备上点击时会应用悬停样式?