ios - 为什么我的 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")
}
}
}
解决方案
TylerTheCompiler 写道:
如果您的故事板中按钮的类型是“系统”,请尝试将其设置为“自定义”。
然后,原始海报写道:
所以tnx同志问题解决了
(只需将其标记为已回答,因此将来看起来不会未回答。)
推荐阅读
- c# - 如何解决字符串未被识别为有效日期时间?
- c# - 如何保护令牌链接?
- laravel - 我想加载我自己的服务提供者而不是包的服务提供者
- java - 获取 MultipartFile 上传文件的数量
- c# - 如何在编译时解决依赖关系
- swift - 以前的 ViewController 保持活动状态
- python - CNN 给出随机答案,而全连接的神经网络工作正常
- laravel - 我如何在 laravel Blade 中显示这些数据?有一个更好的方法吗?
- azure - 使用 MQTT 创建从 Eclipse-ditto 到 Azure IoT 中心的连接
- sql-server - 计算值的位数