我有一个自定义的子类UIButton.type = 'System'
。
它嵌入在具有蓝色背景的视图中,该视图本身位于视图控制器的主视图中。
按钮背景颜色设置为白色。
我有按钮子类的以下代码:
class CustomButton : UIButton{
@IBInspectable var highlightedBackgroundColor :UIColor?
@IBInspectable var nonHighlightedBackgroundColor :UIColor?
@IBInspectable var highlightedTitleTextColor :UIColor?
@IBInspectable var nonHighlightedTitleTextColor :UIColor?
override var isHighlighted :Bool {
get {
return super.isHighlighted
}
set {
if newValue {
self.backgroundColor = highlightedBackgroundColor
self.setTitleColor(highlightedTitleTextColor, for: .highlighted)
}
else {
self.backgroundColor = nonHighlightedBackgroundColor
}
super.isHighlighted = newValue
}
}}
highlightedBackgroundColor
设置为dark gray
。
highlightedTitleTextColor
设置为white
。
因此,按下时,按钮应在灰色背景上显示白色标题文字。相反,我得到了这个:
看起来标题文字颜色的不透明度是< 100%;喜欢它被背景颜色或其他东西掩盖。
在IB中,我尝试调整所有绘图按钮设置,并尝试添加“状态配置”设置,除了和替代按钮子类中的setTitleColor代码;没有什么变化。
知道怎样做才能得到预期的结果吗?
答案 0 :(得分:0)
如果您将按钮类型从“系统”更改为“自定义”,则应该可以使用。