2015-09-29 5 views
2

я две кнопки добавляют к UIVisualEffectView с эффектом UIVibrancyEffect:Название моей UIButton с UIVibrancyEffect не видно, когда BackgroundColor назначается

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

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

enter image description here

гнездо установлено Название для них:

rightActionButton.setTitle(rightAction.title, forState: .Normal) 
leftActionButton.setTitle(leftAction?.title, forState: .Normal) 

И backgroundColor:

leftActionButton.backgroundColor = UIColor.clearColor() 
rightActionButton.backgroundColor = UIColor.whiteColor() 

Почему я не вижу правильного названия? Как это исправить?

Ниже приведен пример с Apple, именно то, что мне нужно сделать:

enter image description here

Возможно ли это?

ответ

-1

Название есть, но вы не можете видеть его, потому что он имеет тот же цвет, что и его фон. Чтобы использовать цвет фона кнопки UIVibrancyEffect, необходимо установить, чтобы очистить цвет, чтобы таким образом все прозрачные пиксели, которые умножаются на соответствующие пиксели фона, также будут прозрачными. Чтобы исправить это:

rightActionButton.backgroundColor = UIColor.clearColor() 
+0

Я знаю, что там, но мне нужно, чтобы сделать его видимым с BackgroundColor. Ваш ответ не отвечает на мой вопрос. Любые другие идеи? –

0

Просто установите backgroundColor с альфа-компонентом.

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

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

И результат заключается в следующем:

enter image description here