2017-02-11 3 views
0

Весьма простой вопрос: я хочу изменить непрозрачность UIView и сохранить шрифт над ним с альфа = 1.0.Изменение альфа UIView влияет на непрозрачность шрифта

enter image description here

enter image description here

Так как вы можете видеть, что есть два labeles и под ними UIView. Я установил opcaity UIView (например: @IBOutlet weak var coView: UIView!self.coView.alpha = 0.8). В результате UIView и метки более прозрачны, и я хочу сохранить текст метки в alpha = 1.0. Можно ли обойтись без изменения представлений стека и ограничений?

ответ

2

Использование

coView.backgroundColor = UIColor.black.withAlphaComponent(0.8) 

Это супер раздражающий и не совсем то, что вы хотели, но это путь вокруг него. Он устанавливает цвет фона coView с альфа-значением, который эффективно дает вам то, что вы хотите.

+0

Awesome !!!! u сделал это –

1

Изменение альфа UIView изменяет порядок просмотра всех его подзонов в новом альфа-наборе. Нет способа избежать этого, но вы можете обойти это, используя некоторые другие вспомогательные виды.

Например, внутри вашего UIView pm у вас может быть другой подвид под названием backgroundView, который находится на оборотной стороне, и это тот, который вы задали для фона. Каждый другой элемент внутри вашего UIView pm будет поверх backgroundView с четким цветом фона.

Если вы хотите изменить только альфа цвета, вы просто изменить альфа к backgroundView и другим элементам в UIView pm останутся с тем же альфа

+0

Возможно, это работает, но у меня есть несколько анимаций, поэтому необходимо внести слишком много изменений. Другой ответ немного лучше, но также не идеален. – codddeer123

Смежные вопросы