2

我添加了两个按钮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 的示例,正​​是我需要做的:

在此处输入图像描述

可能吗?

4

2 回答 2

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)

结果如下:

在此处输入图像描述

于 2015-09-29T18:06:56.993 回答
-1

标题在那里,但您看不到它,因为它与背景颜色相同。要使用UIVibrancyEffect按钮背景颜色必须设置为清除颜色,这样所有与相应背景像素相乘的透明像素也会导致透明。要解决这个问题:

rightActionButton.backgroundColor = UIColor.clearColor()
于 2015-09-29T14:28:34.473 回答