ios - Xcode @IBDesignable 按钮背景颜色未在情节提要中呈现
问题描述
尝试在情节提要中显示按钮背景颜色,以下代码正确呈现边框宽度和半径,但背景不显示。在模拟器中,按钮的背景颜色被正确渲染。
import UIKit
let colorSunset = #colorLiteral(red: 0.9693382382, green: 0.5568749309, blue: 0, alpha: 1)
@IBDesignable class PrimaryButtonA: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
buttonA()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
buttonA()
}
func buttonA() {
self.layer.cornerRadius = 10
self.layer.borderWidth = 5
self.layer.backgroundColor = colorSunset.cgColor
}
}
Xcode 没有显示任何错误,但有一个不相关的警告,与按钮的固定宽度和高度有关,并且文本将被剪裁。
在此先感谢您的帮助。
解决方案
这是对我有用的解决方案。
import UIKit
let colorSunset = #colorLiteral(red: 0.9693382382, green: 0.5568749309, blue: 0, alpha: 1)
@IBDesignable class PrimaryButtonA: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
buttonA()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
buttonA()
}
override func prepareForInterfaceBuilder() {
super.prepareForInterfaceBuilder()
backgroundColor = colorSunset
}
func buttonA() {
self.layer.cornerRadius = 10
self.layer.borderWidth = 5
// self.layer.backgroundColor = colorSunset.cgColor
}
}
推荐阅读
- ios - 如何更改标签栏中未选中项目的颜色?
- python - 我的递归寻路函数中的哪些算法冗余导致了基本上无限的运行时间?
- innerhtml - 根据连接变量替换 innerHTML 的内容
- python - Python GET 请求不返回任何内容
- android - Gradle 任务 assembleDebug 使用 Flutter 失败
- php - 我们应该在哪里使用 fetch_assoc 方法?
- python - 在 Django Rest(嵌套序列化程序)中 POST 后 ForeignKey 为空
- reactjs - 如何将一个简单的 React 应用程序作为“用户页面”部署到 Github Pages?
- excel - 多个 VBA 循环的交叉点错误
- php - 是否可以从数组执行命令?