我有两个按钮添加到UIVisualEffectView
,效果为UIVibrancyEffect
:
let vibrancyEffectView = UIVisualEffectView(effect: UIVibrancyEffect(forBlurEffect: UIBlurEffect(style: .Dark)))
vibrancyEffectView.contentView.addSubview(rightActionButton)
vibrancyEffectView.contentView.addSubview(leftActionButton)
为它们设置标题:
rightActionButton.setTitle(rightAction.title, forState: .Normal)
leftActionButton.setTitle(leftAction?.title, forState: .Normal)
backgroundColor
:
leftActionButton.backgroundColor = UIColor.clearColor()
rightActionButton.backgroundColor = UIColor.whiteColor()
为什么我看不到合适的标题?如何解决这个问题?
以下是Apple的示例,正是我需要做的事情:
有可能吗?
答案 0 :(得分:0)
只需使用alpha组件设置backgroundColor。
let vibrancyEffectView = UIVisualEffectView(effect: UIVibrancyEffect(forBlurEffect: UIBlurEffect(style: .Dark)))
leftActionButton.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.2)
rightActionButton.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.2)
结果如下:
答案 1 :(得分:-1)
标题在那里,但你看不到它,因为它与背景颜色相同。要使用UIVibrancyEffect
按钮背景颜色必须设置为清除颜色,这样所有与其对应的背景像素相乘的透明像素也将导致透明。解决这个问题:
rightActionButton.backgroundColor = UIColor.clearColor()