为啥我的 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 按钮在点击时会显示一个蓝色的小方块?的主要内容,如果未能解决你的问题,请参考以下文章