100% непрозрачность UILabel на фоне непрозрачности на 50% (UIView?)
Итак, сейчас у меня есть UIView
с UILabel
. Я хочу, чтобы фон имел непрозрачность < 1.0, а метка имеет непрозрачность 1,0. Однако, поскольку альфа распространяются вниз по иерархии представлений, метка заканчивается непрозрачностью < 1.0.
Есть ли способ сделать то, что я хочу, не сделав UILabel
подвью другого вида?
Ответы
Ответ 1
Просто установите цвет фона полупрозрачным:
view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.5f];
Или в Swift:
view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.5)
Или, Swift 3:
view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
Обратите внимание, что в этом конкретном случае UIColor(white: 0, alpha: 0.5)
более кратким, но colorWithAlphaComponent
будет работать в целом.
Ответ 2
Помимо доступности в коде, вы можете сделать это довольно легко и от iB:
- В раскадровке выберите вид, который вы хотите отредактировать;
- С правой панели убедитесь, что инспектор атрибутов открыт,
- Нажмите правую сторону раскрывающегося списка "Фон" и выберите "Другое..."; он откроет диалог выбора цвета;
- Измените "Непрозрачность" внизу, чтобы установить непрозрачность фона.
Ответ 3
Вы можете установить цвет фона UIView
полупрозрачным цветом или сделать изображение полупрозрачным. Таким образом, это свойство прозрачного представления, а не самого представления.
Ответ 4
Вы можете использовать это:
self.view.layer.opacity=0.5