我在UIVisualEffectView中添加了两个按钮,效果如下:

let vibrancyEffectView = UIVisualEffectView(effect: UIVibrancyEffect(forBlurEffect: UIBlurEffect(style: .Dark)))

vibrancyEffectView.contentView.addSubview(rightActionButton)
vibrancyEffectView.contentView.addSubview(leftActionButton)

swift - 分配backgroundColor时,带有UIVibrancyEffect的UIButton的标题不可见-LMLPHP
巢穴是为它们设置的标题:
rightActionButton.setTitle(rightAction.title, forState: .Normal)
leftActionButton.setTitle(leftAction?.title, forState: .Normal)

以及UIVibrancyEffect
leftActionButton.backgroundColor = UIColor.clearColor()
rightActionButton.backgroundColor = UIColor.whiteColor()

为什么我看不到正确的标题?怎么解决这个问题?
下面是苹果的例子,正是我需要做的:
swift - 分配backgroundColor时,带有UIVibrancyEffect的UIButton的标题不可见-LMLPHP
有可能吗?

最佳答案

只需要用alpha组件设置背景色。

let vibrancyEffectView = UIVisualEffectView(effect: UIVibrancyEffect(forBlurEffect: UIBlurEffect(style: .Dark)))

leftActionButton.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.2)
rightActionButton.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.2)

结果如下:
swift - 分配backgroundColor时,带有UIVibrancyEffect的UIButton的标题不可见-LMLPHP

10-08 05:50