Ответ 1
Вы можете установить цвет фона для просмотра в UIColor с помощью альфы, а не влиять на view.alpha
view?.backgroundColor = UIColor(white: 1, alpha: 0.5)
У меня есть 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, а не метки. Любые идеи?
Вы можете установить цвет фона для просмотра в UIColor с помощью альфы, а не влиять на view.alpha
view?.backgroundColor = UIColor(white: 1, alpha: 0.5)
Значение свойства alpha
вида влияет на его дочерние объекты. Если вам нужен только прозрачный фон, установите представление backgroundColor
proprty в цвет, у которого есть альфа-компонент меньше 1.
view.backgroundColor = UIColor.whiteColor().colorWithAlphaComponent(0.5)
в Swift 3.0
yourView.backgroundColor = UIColor.black.withAlphaComponent(0.5)
Это работает для меня в xcode 8.2.
Это может помочь вам.
Вы также можете установить его из InterfaceBuilder
, изменив непрозрачность цвета:
Проблема, которую вы обнаружили, заключается в том, что view
отличается от вашего UIView
. "view" относится ко всему виду. Например, ваш домашний экран является видом.
Вам нужно четко отделить весь "вид" вашего "UIView" и вашего "UILabel"
Вы можете выполнить это, перейдя в свою раскадровку, нажав на элемент, Identity Inspector и изменив Restoration ID
.
Теперь, чтобы получить доступ к каждому элементу вашего кода с помощью идентификатора восстановления
Это просто в Swift. просто поместите этот цвет в свой цвет фона, и он будет работать.
let dimAlphaRedColor = UIColor.redColor().colorWithAlphaComponent(0.7)
yourView.backGroundColor = dimAlphaRedColor