针对突出显示的背景设置 UIButton 突出显示的标题文本,从而产生暗淡的文本
Posted
技术标签:
【中文标题】针对突出显示的背景设置 UIButton 突出显示的标题文本,从而产生暗淡的文本【英文标题】:Setting UIButton highlighted title text against highlighted background producing dimmed text 【发布时间】:2018-01-12 00:47:17 【问题描述】:我有一个自定义的子类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
。
因此,按下时,按钮应在灰色背景上显示白色标题文本。相反,我得到了这个:
标题文本颜色的不透明度似乎
在 IB 中,我尝试调整所有绘图按钮设置,并尝试添加“状态配置”设置,以补充和代替按钮子类中的 setTitleColor 代码;没有任何变化。
知道如何做才能获得预期的结果吗?
【问题讨论】:
【参考方案1】:如果您将按钮类型从“系统”更改为“自定义”,它应该可以工作。
【讨论】:
以上是关于针对突出显示的背景设置 UIButton 突出显示的标题文本,从而产生暗淡的文本的主要内容,如果未能解决你的问题,请参考以下文章
Objective C - UIButton 保持突出显示/选中,背景颜色和字体颜色在突出显示/选中时发生变化