Подтвердить что ты не робот

Swift UIView цвет фона непрозрачность

У меня есть UIView с UILabel. Я хочу, чтобы UIView имел белый цвет фона, но с непрозрачностью 50%. Проблема с установкой view.alpha = 0.5 заключается в том, что метка будет иметь непрозрачность 50%, поэтому я понял, что возможно было бы иметь UIView с белым фоном и непрозрачностью (white_view), а затем другой UIView с меткой (label_view). Затем добавьте "white_view" в "label_view", выполнив следующее: label_view.addSubview(white_view). Это, по-видимому, не работает. Мне бы хотелось сделать следующее: label_view.backgroundView(white_view), но вы не можете установить фоновый вид на UIView, как вы можете сделать в UICollectionView, например.

Кто-нибудь знает, как это решить?

ИЗМЕНИТЬ Поскольку несколько ответов примерно одинаковы, я наберу его здесь. Теперь я пробовал даже эти:

label_view1.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)

и

label_view1.backgroundColor = UIColor(white: 1, alpha: 0.5)
label_view1.addSubview(firstPlacelbl)
endGameView.addSubview(label_view1)

И все же на ярлык также влияет альфа, и он получает непрозрачность 50%. Я не понимаю, что я делаю неправильно, потому что я устанавливаю только цвета alpha 0.5, а не метки. Любые идеи?

4b9b3361

Ответ 1

Вы можете установить цвет фона для просмотра в UIColor с помощью альфы, а не влиять на view.alpha view?.backgroundColor = UIColor(white: 1, alpha: 0.5)

Ответ 2

Значение свойства alpha вида влияет на его дочерние объекты. Если вам нужен только прозрачный фон, установите представление backgroundColor proprty в цвет, у которого есть альфа-компонент меньше 1.

view.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)

Ответ 3

в Swift 3.0

yourView.backgroundColor = UIColor.black.withAlphaComponent(0.5)

Это работает для меня в xcode 8.2.

Это может помочь вам.

Ответ 4

Вы также можете установить его из InterfaceBuilder, изменив непрозрачность цвета:

введите описание изображения здесь

Ответ 5

Проблема, которую вы обнаружили, заключается в том, что view отличается от вашего UIView. "view" относится ко всему виду. Например, ваш домашний экран является видом.

Вам нужно четко отделить весь "вид" вашего "UIView" и вашего "UILabel"

Вы можете выполнить это, перейдя в свою раскадровку, нажав на элемент, Identity Inspector и изменив Restoration ID.

Теперь, чтобы получить доступ к каждому элементу вашего кода с помощью идентификатора восстановления

Ответ 6

Это просто в Swift. просто поместите этот цвет в свой цвет фона, и он будет работать.

let dimAlphaRedColor = UIColor.redColor().colorWithAlphaComponent(0.7) yourView.backGroundColor = dimAlphaRedColor